第一篇:軟件工程選擇題
題型:概念解釋、簡答、選擇、綜合操作。
選擇:
1.影響軟件維護工作的主要因素:
(1)軟件開發(fā)的方法:軟件開發(fā)方式直接影響軟件的易維護性;模塊化結(jié)構(gòu)、詳細(xì)設(shè)計等文檔、軟甲維護記錄報告等將有助于理解軟件的結(jié)構(gòu)、界面的功能和內(nèi)部的數(shù)據(jù)與控制邏輯流程、理解當(dāng)前軟件的版本狀態(tài);
(2)軟件開發(fā)的條件:軟件開發(fā)過程所涉及到的軟件硬件資源特性也對軟件的維護產(chǎn)生影響,如程序設(shè)計語言的特性、軟件開發(fā)工具等對于理解軟件有著明顯的影響;
(3)軟件規(guī)模的大?。很浖?guī)模越大,系統(tǒng)越復(fù)雜,維護所需的工作量也越大;
(4)軟件投入運行后的時間:老系統(tǒng)比新系統(tǒng)需要更多的維護工作量,在長期的維護過程中,也許軟件的文檔與實際的程序?qū)崿F(xiàn)已變得不一致,維護工作會遇到跟多的困難;
(5)其他設(shè)計因素、人員交替與外部環(huán)境因素。
2.模塊間的信息可以用作控制信息用,也可以用作數(shù)據(jù)使用。
3.在對數(shù)據(jù)流的分析中主要是找到中心變換,這是從數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵 4.在進行軟件結(jié)構(gòu)設(shè)計時,應(yīng)該遵循的基本原理是抽象原理。
5.在設(shè)計測試用例時,等價類劃分是用的最多的一種黑盒測試方法。
6.軟件開發(fā)環(huán)境是相關(guān)的一組軟件工具集合。
7.快速原形有那幾種?特點?
答:探索型、試驗型、演化型。探索型:在需求階段幫助明確理解需求用完拋 棄。試驗型:在設(shè)計階段考核現(xiàn)行方案是否合適用完拋棄。演化型:及早的向用 戶展示一個系統(tǒng)的原形包含主要的功能得到用戶的認(rèn)可后將原形不斷的擴充直到系統(tǒng)完成。
8.質(zhì)量保證是為了使產(chǎn)品實現(xiàn)__功能。A.系統(tǒng)分析員 B程序員 C軟件開發(fā)者要求 D 用戶要求
9.在結(jié)構(gòu)化分析方法中,用以表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的運動情況的工具有___
A 數(shù)據(jù)流圖 B數(shù)據(jù)詞典 C 結(jié)構(gòu)化英語D 判定樹和判定表
10.可行性研究主要從以下幾個方面進行研究__。
A.技術(shù)可行性,經(jīng)濟可行性,操作可行性。
B.技術(shù)可行性,經(jīng)濟可行性,系統(tǒng)可行性。
C.經(jīng)濟可行性,系統(tǒng)可行性,操作可行性。
D.經(jīng)濟可行性,系統(tǒng)可行性,時間可行性
11.結(jié)構(gòu)化分析方法是一種面向數(shù)據(jù)流的需求分析方法。
12.在進行軟件結(jié)構(gòu)設(shè)計時,應(yīng)該遵循的最主要原理是模塊獨立性原理。
13.使軟件適應(yīng)運行環(huán)境中硬軟件變更的維護稱為適應(yīng)性維護。
14.質(zhì)量保證是為了保證產(chǎn)品和服務(wù)充分滿足消費者要求的質(zhì)量而進行的有計劃,有組織的活動,質(zhì)量保證是為了是產(chǎn)品實現(xiàn)使產(chǎn)品實現(xiàn)用戶要求的功能。
15.數(shù)據(jù)字典。
第二篇:華師在線軟件工程作業(yè)答案選擇題
軟件工程作業(yè)
在軟件可行性研究中,可以從不同的角度對軟件進行研究,其中是從軟件的功能可行性角度考慮的是()。A.經(jīng)濟可性性 B.技術(shù)可行性 C.操作可行性 D.法律可行性 答案:B
為了提高模塊的獨立性,模塊內(nèi)部最好是()。A.邏輯內(nèi)聚 B.時間內(nèi)聚 C.功能內(nèi)聚 D.通信內(nèi)聚 答案:C
Jackson方法是一種面向()的方法。A.對象 B.數(shù)據(jù)結(jié)構(gòu) C.數(shù)據(jù)流 D.控制流 答案:B
需求分析階段研究的對象是軟件項目的()。A.用戶需求 B.合理要求 C.模糊要求 D.工程要求 答案:A
面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法(Jackson方法)是進行()的形式化的方法。A.系統(tǒng)設(shè)計 B.詳細(xì)設(shè)計 C.軟件設(shè)計 D.編碼 答案:B
程序控制的三種基本結(jié)構(gòu)中,()結(jié)構(gòu)可提供多條路徑選擇。A.反序 B.順序 C.循環(huán) D.分支 答案:D
下列屬于黑盒測試的是()。A.基本路徑測試 B.條件測試 C.循環(huán)測試 D.等價劃分 答案:D 軟件設(shè)計一般分為總體設(shè)計和詳細(xì)設(shè)計,它們之間的關(guān)系是()。A.全局和局部 B.抽象和具體 C.總體和層次 D.功能和結(jié)構(gòu) 答案:A
好的軟件結(jié)構(gòu)應(yīng)該是()。A.高耦合,高內(nèi)聚 B.低耦合,高內(nèi)聚 C.高耦合,低內(nèi)聚 D.低耦合,低內(nèi)聚 答案:B
面向?qū)ο筌浖夹g(shù)的許多強有力的功能和突出的優(yōu)點,都來源于把類組織成一個層次結(jié)構(gòu)的系統(tǒng),一個類的上層可以有父類,下層可以有子類,這種層次結(jié)構(gòu)系統(tǒng)的一個重要性質(zhì)是(),一個類獲得其父類的全部描述(數(shù)據(jù)和操作)。A.傳遞性 B.繼承性 C.復(fù)用性 D.并行性 答案:B
軟件項目管理是()一切活動的管理。A.需求分析 B.軟件設(shè)計過程 C.模塊控制
D.軟件生命周期 答案:D
一個模塊把開關(guān)量作為參數(shù)傳遞給另一模型,這兩個模塊之間的耦合是()。A.外部耦合 B.數(shù)據(jù)耦合 C.控制耦合 D.內(nèi)容耦合 答案:C
在面向數(shù)據(jù)流的軟件設(shè)計方法中,一般將信息流分為()。A.變換流和事務(wù)流 B.變換流和控制流 C.事務(wù)流和控制流 D.數(shù)據(jù)流和控制流 答案:A
軟件工程學(xué)科出現(xiàn)的主要原因是()。A.計算機的發(fā)展
B.其他工程學(xué)科的影響 C.軟件危機的出現(xiàn)
D.程序設(shè)計方法學(xué)的影響 答案:C 關(guān)于數(shù)據(jù)流圖下列說法中不正確的是()。
A.在數(shù)據(jù)流圖中應(yīng)描繪所有可能的數(shù)據(jù)流向及數(shù)據(jù)流的條件 B.數(shù)據(jù)流圖的基本要點是描繪“做什么”而不考慮“怎么做” C.數(shù)據(jù)流圖是系統(tǒng)的邏輯模型
D.數(shù)據(jù)流圖的一個主要用途是作為分析和設(shè)計的工具 答案:A
關(guān)于測試下列說法錯誤的是()。A.調(diào)試也稱為糾錯
B.調(diào)試作為成功測試的后果出現(xiàn)
C.調(diào)節(jié)器試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程 D.調(diào)試的目標(biāo)是發(fā)現(xiàn)錯誤 答案:D
模塊中所有成分引用共同的數(shù)據(jù),該模塊的內(nèi)聚度是(A.邏輯性 B.瞬時性 C.功能性 D.通信性 答案:D
每個對象可用它自己的一組屬性和它可以執(zhí)行的一組(A.行為 B.功能 C.操作 D.數(shù)據(jù) 答案:C
應(yīng)用執(zhí)行對象的操作可以改變該對象的()。A.屬性 B.功能 C.行為 D.數(shù)據(jù) 答案:A
下列耦合中,()的耦合性最強。A.公共耦合 B.數(shù)據(jù)耦合 C.控制耦合 D.內(nèi)容耦合 答案:D
塊內(nèi)聯(lián)系中,()塊內(nèi)聯(lián)系最強。A.偶然性 B.功能性 C.通信性 D.順序性 答案:B
軟件是一種()產(chǎn)品。)的。)來表現(xiàn)。
A.有形 B.邏輯 C.物質(zhì) D.消耗 答案:B
由于軟件生產(chǎn)的復(fù)雜性和高成本性,使大型軟件的生存出現(xiàn)危機,軟件危機的主要表現(xiàn)包括了下述()方面。①生產(chǎn)成本過高 ②需求增長難以滿足③進度難以控制 ④質(zhì)量難以保證 A.①② B.②③ C.④ D.全部 答案:D
在軟件可行性研究中,可以從不同的角度對軟件進行研究,其中是從軟件的功能可行性角度考慮的是(A.經(jīng)濟可性性 B.技術(shù)可行性 C.操作可行性 D.法律可行性 答案:B
在對數(shù)據(jù)流的分析中,主要是找到中心變換,這是從()導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵。A.數(shù)據(jù)結(jié)構(gòu) B.實體關(guān)系 C.數(shù)據(jù)流圖 D.E-R圖 答案:C
概要設(shè)計與詳細(xì)設(shè)計銜接的圖形工具是()。A.數(shù)據(jù)流圖 B.結(jié)構(gòu)圖 C.程序流程圖 D.PAD圖 答案:B
程序控制一般分為()、分支、循環(huán)三種基本結(jié)構(gòu)。A.分塊 B.順序 C.跳轉(zhuǎn) D.控制 答案:B
結(jié)構(gòu)化分析方法使用的描述工具()定義了數(shù)據(jù)流圖中每一個圖形元素。A.數(shù)據(jù)流圖 B.數(shù)據(jù)字典 C.判定表 D.判定樹 答案:B
Jackson方法根據(jù)()來導(dǎo)出程序結(jié)構(gòu)。)A.數(shù)據(jù)結(jié)構(gòu)
B.數(shù)據(jù)間的控制結(jié)構(gòu) C.數(shù)據(jù)流圖 D.IPO圖 答案:A
Jackson圖上下層之間的關(guān)系是()。A.調(diào)用關(guān)系 B.組成關(guān)系 C.繼承關(guān)系 D.嵌套關(guān)系 答案:B
以下說法,錯誤的是()。
A.面向?qū)ο蟛粌H支持過程抽象,而且支持?jǐn)?shù)據(jù)抽象 B.某些面向?qū)ο蟮某绦蛟O(shè)計語言還支持參數(shù)化抽象 C.信息隱蔽通過對象的封裝性來實現(xiàn)
D.在面向?qū)ο蠓椒ㄖ?,類是最基本的模塊。答案:D
在多層次的結(jié)構(gòu)圖中,其模塊的層次數(shù)稱為結(jié)構(gòu)圖的(A.深度 B.跨度 C.控制域 D.廣度 答案:A
()是計算機程序及期說明程序的各種文檔。A.軟件 B.文檔 C.程序 D.數(shù)據(jù) 答案:A
模塊(),則說明模塊的獨立性越強。A.耦合越強 B.扇入數(shù)越高 C.耦合越弱 D.扇入數(shù)越低 答案:C
在數(shù)據(jù)流圖中,有名字及方向的成分是()。A.控制流 B.信息流 C.數(shù)據(jù)流 D.信號流 答案:C
Alpha測試是()。
A.由用戶在開發(fā)者的場所進行。)B.由軟件的最終用戶在開發(fā)者的一個或多個客戶場所進行 C.是在不受開發(fā)者控制的環(huán)境中進行的
D.是軟件在開發(fā)者不能控制的環(huán)境中的“真實應(yīng)用 答案:A
表示對象的相互行為的模型是()模型。A.對象 B.動態(tài) C.功能 D.靜態(tài) 答案:B
在軟件工程學(xué)中,我們把一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象的集合定義為(在數(shù)據(jù)上的一組合法操作。A.類 B.屬性 C.對象 D.消息 答案:A
需求分析過程中,對算法的簡單描述記錄在()。A.層次圖 B.數(shù)據(jù)字典 C.數(shù)據(jù)流圖 D.IPO圖 答案:D
有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資料稱為()。A.軟件 B.文檔 C.程序 D.數(shù)據(jù) 答案:B
問題定義階段必須回答的關(guān)鍵問題是()。A.要解決的問題是什么
B.確定目標(biāo)系統(tǒng)必須具備哪些功能 C.怎樣實現(xiàn)目標(biāo)系統(tǒng) D.如何具體實現(xiàn)系統(tǒng) 答案:A
可行性分析中,系統(tǒng)流程圖用于描述()。A.當(dāng)前運行系統(tǒng) B.當(dāng)前邏輯模型 C.目標(biāo)系統(tǒng) D.新系統(tǒng) 答案:B
模塊的獨立性是由內(nèi)聚性和耦合性來度量的,其中內(nèi)聚性是()。A.模塊間的聯(lián)系程度,此定義包括一組數(shù)據(jù)屬性和)B.模塊的功能強度 C.信息隱蔽程度 D.接口的復(fù)雜程度 答案:B
數(shù)據(jù)流圖是用于表示軟件模型的一種圖示方法,在下列可采用的繪圖方法中,()是常采用的。①自頂向下 ②自底向上 ③分層繪制 ④逐步求精 A.全是 B.①③④ C.①③ D.①② 答案:B
在軟件可行性研究中,可以從不同的角度對軟件進行研究,其中是從軟件的成本/效益分析的是()。A.經(jīng)濟可性性 B.技術(shù)可行性 C.操作可行性 D.法律可行性 答案:A
在結(jié)構(gòu)化分析方法(SA)中,與數(shù)據(jù)流圖配合使用的是()。A.數(shù)據(jù)流圖 B.數(shù)據(jù)字典 C.實體聯(lián)系圖 D.程序流程圖 答案:B
通過()可以完成數(shù)據(jù)流圖的細(xì)化。A.結(jié)構(gòu)分解 B.功能分解 C.數(shù)據(jù)分解 D.系統(tǒng)分解 答案:B
在邏輯覆蓋中,每個語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個條件都取到各種可能的結(jié)果,這種覆蓋稱為()。A.語句覆蓋 B.判定覆蓋 C.條件覆蓋 D.全部覆蓋 答案:C
軟件設(shè)計階段一般可分為()。A.邏輯設(shè)計與功能設(shè)計 B.概要設(shè)計與詳細(xì)設(shè)計 C.概念設(shè)計與物理設(shè)計 D.模型設(shè)計與程序設(shè)計 答案:B
通過執(zhí)行對象的操作改變對象的屬性,但它必須通過()的傳遞。A.接口 B.消息 C.信息 D.操作 答案:B
需求分析最終結(jié)果是產(chǎn)生()。A.項目開發(fā)計劃 B.可行性分析報告 C.需求規(guī)格說明書 D.設(shè)計說明書 答案:C
()著重反映的是模塊間的隸屬關(guān)系,即模塊間的調(diào)用關(guān)系和層次關(guān)系。A.程序流程圖 B.數(shù)據(jù)流圖 C.E-R圖 D.結(jié)構(gòu)圖 答案:D
需求分析()。
A.要回答“軟件必須做什么?” B.要求編寫軟件需求說明書
C.系統(tǒng)分析員可以采用訪談、簡易的應(yīng)用規(guī)格說明技術(shù)獲取用戶需求 D.以上都對 答案:D
按照軟件配置管理的原始指導(dǎo)思想,受控制的對象應(yīng)是()。A.軟件元素 B.軟件配置項 C.軟件項目 D.軟件過程 答案:B
()著重測試軟件功能。A.黑盒測試 B.白盒測試 C.功能測試 D.循環(huán)測試 答案:C
軟件配置項是軟件配置管理的對象,指的是軟件工程過程中所產(chǎn)生的()。A.接口 B.軟件環(huán)境 C.信息項 D.版本 答案:C
在軟件結(jié)構(gòu)中,如果兩個矩形之間有直接相連,表示它們存在()關(guān)系。A.鏈接 B.調(diào)用 C.并列
D.順序執(zhí)行 答案:B
將幾個邏輯上相似的成分放在一個模塊中,該模塊的內(nèi)聚度是()。A.邏輯性 B.瞬時性 C.功能性 D.通信性 答案:A
()模型表示了對象的相互行為。A.對象 B.動態(tài) C.功能 D.分析 答案:B
結(jié)構(gòu)化分析(SA)最為常見的圖形工具是()。A.程序流程圖 B.實體聯(lián)系圖 C.數(shù)據(jù)流圖 D.結(jié)構(gòu)圖 答案:C
與計算機科學(xué)的理論研究不同,軟件工程是一門()學(xué)科。A.理論性 B.工程性 C.原理性 D.心理性 答案:B
下列方式中,不是由數(shù)據(jù)元素組成數(shù)據(jù)方式的是()。A.順序 B.層次 C.選擇 D.重復(fù) 答案:B
在程序的描述和分析中,用以指明數(shù)據(jù)來源、數(shù)據(jù)流向和數(shù)據(jù)處理的輔助圖形是(A.瀑布模型圖 B.數(shù)據(jù)流圖 C.數(shù)據(jù)結(jié)構(gòu)圖 D.業(yè)務(wù)圖 答案:B
軟件部分的內(nèi)部實現(xiàn)與外部可訪問性分離,這是指軟件的()。A.繼承性 B.共享性。)C.封裝性 D.抽象性 答案:C
()是軟件開發(fā)人員為用戶準(zhǔn)備的有關(guān)該軟件使用、操作、維護的資料。A.開發(fā)文檔 B.管理文檔 C.用戶文檔 D.軟件文檔 答案:C
模塊內(nèi)的某成分的輸出是另一成分的輸入,該模塊的內(nèi)聚度是()的。A.功能性 B.順序性 C.邏輯性 D.瞬時性 答案:B
面向?qū)ο箝_發(fā)方法子概念和表示上的一致性保證了分析和設(shè)計的()過渡。A.因難 B.不容易 C.平滑 D.順序 答案:C
詳細(xì)設(shè)計規(guī)格說明通常使用()手段。A.IPO圖與層次圖 B.HIPO C.IPO或PDL D.HIPO或PDL 答案:D
一個項目是否開發(fā),從經(jīng)濟上來說是否可行,歸根結(jié)底是取決于()。A.成本的估算 B.項目計劃 C.工程管理 D.工程網(wǎng)絡(luò) 答案:A
程序的三種基本控制結(jié)構(gòu)是()。A.過程、子程序和分程序 B.順序、選擇和重復(fù) C.遞歸、堆棧和隊列 D.調(diào)用、返回和轉(zhuǎn)移 答案:B
一個程序如果把它他為一個整體,它也是只有一個入口,一個出口的單個順序結(jié)構(gòu),這是一種(A.結(jié)構(gòu)程序 B.組合的過程 C.自頂向下設(shè)計。)D.分解過程 答案:B
數(shù)據(jù)元素組成設(shè)計的方式有()類型。A.順序 B.選擇 C.重復(fù)
D.以上全是 答案:D
結(jié)構(gòu)分析方法就是面向()自頂向下逐步求精進行需求分析的方法。A.目標(biāo) B.數(shù)據(jù)流 C.功能 D.對象 答案:B
屬于軟件設(shè)計的基本原理的是(A.數(shù)據(jù)流分析設(shè)計 B.變換流分析設(shè)計 C.事務(wù)流分析設(shè)計 D.模塊化 答案:D。)
第三篇:軟件工程總結(jié)
軟件工程總結(jié)
軟件的特點
? 軟件是一種邏輯實體。
? 軟件的開發(fā),是人的智力的高度發(fā)揮,而不是傳統(tǒng)意義上的硬件制造。? 軟件維護與硬件的維修有著本質(zhì)的差別。
? 軟件的開發(fā)和運行常常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。
? 軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式,使軟件的開發(fā)效率受到很大限制。
? 軟件的開發(fā)是一個復(fù)雜的過程。
? 軟件的成本非常高昂。軟件工程就是建立和使用一套合理的工程原理,從而經(jīng)濟地獲得可靠的、可以在實際機器上高效運行的軟件。軟件工程的特性:
1.軟件工程關(guān)注于大型程序的構(gòu)造 2.軟件工程的中心課題是控制復(fù)雜性 3.軟件經(jīng)常變化
4.開發(fā)軟件的效率非常重要 5.和諧地合作是開發(fā)軟件的關(guān)鍵 6.軟件必須有效地支持它的用戶
7.在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人
? PM(Project Manager):負(fù)責(zé)整個項目計劃的制定、進度的跟蹤、監(jiān)督以及與客戶的溝通等。
? PL(Project Leader):負(fù)責(zé)與項目有關(guān)的技術(shù)問題的調(diào)研、指導(dǎo)、培訓(xùn)以及項目進度的跟蹤等。
Page 1of 17
? CS(Consultant):負(fù)責(zé)與客戶確認(rèn)項目中所涉及的業(yè)務(wù)流程以及向項目組其他成員說明項目的業(yè)務(wù)流程。
? SE(Software Engineer):負(fù)責(zé)項目的概要設(shè)計、詳細(xì)設(shè)計以及開發(fā)架構(gòu)的制定和系統(tǒng)測試用例的書寫。? PG,也叫CD(Coder):負(fù)責(zé)寫代碼以及單體測試.? TE(Tester):負(fù)責(zé)集成測試、壓力測試以及用戶測試。
1.2 軟件工程定義
? 用分階段的生命周期計劃嚴(yán)格管理 ? 堅持進行階段評審 ? 實行嚴(yán)格的產(chǎn)品控制 ? 采用現(xiàn)代程序設(shè)計技術(shù) ? 結(jié)果應(yīng)能清楚地審查 ? 開發(fā)小組的人員應(yīng)該少而精
Page 2of 17
? 承認(rèn)不斷改進軟件工程實踐的必要性
Page 3of 17
增量模型的優(yōu)點
1.在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個構(gòu)件交付之日起,用戶就能做一些有用的工作。
2.整個軟件產(chǎn)品被分解成許多個增量構(gòu)件,開發(fā)人員可以一個構(gòu)件一個構(gòu)件地逐步開發(fā)。
3.逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。
采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計,但在設(shè)計階段多付出的勞動將在維護階段獲得回報。增量模型的困難
1.在把每個新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計得便于按這種方式進行擴充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡單、方便,也就是說,軟件體系結(jié)構(gòu)必須是開放的。
2.開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構(gòu)件,相互矛盾。多個構(gòu)件并行開發(fā),具有無法集成的風(fēng)險
螺旋模型(Spiral Model)螺旋模型將瀑布模型和增量模型結(jié)合起來,加入了風(fēng)險分析。在該模型中,軟件開發(fā)是一系列的增量發(fā)布,早期的迭代中,發(fā)布的增量可能是一個紙上的模型或原型,在以后的迭代中,逐步產(chǎn)生系統(tǒng)更加完善的版本。螺旋模型的基本思想是降低風(fēng)險。
Page 4of 17
統(tǒng)一開發(fā)過程(RUP)極限編程(敏捷開發(fā)過程)(XP)
軟件 =程序+數(shù)據(jù)+文檔軟件危機: 原因,現(xiàn)象,辦法(軟件工程學(xué))軟件工程(學(xué)):開發(fā)、運行和維護軟
Page 5of 17
件的系統(tǒng)方法軟件工程3 個要素:方法、工具和過程。軟件生命周期:定義,開發(fā),運行維護 軟件過程:瀑布模型+RUP
第二章
可行性研究的目的:
用小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。可行性研究的內(nèi)容:(1)技術(shù)可行性(2)經(jīng)濟可行性(3)操作可行性
? ? ?
(4)社會可行性(法律可行性)(5)抉擇
可行性研究過程: 1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)
?確保分析員提交的報告書確實是用戶要求解決的問題。2.研究目前正在使用的系統(tǒng)
? 現(xiàn)有系統(tǒng)要完成的工作,就是新系統(tǒng)所必需具備的功能。
? 現(xiàn)有系統(tǒng)存在的缺點,新系統(tǒng)必需加以改進。
? 現(xiàn)有系統(tǒng)所不具備功能,又是用戶必須的,則新系統(tǒng)一定要予以增加。3.導(dǎo)出新系統(tǒng)的高層邏輯模型 4.進一步定義問題 用戶使用可能性 時間進度可行性 組織和文化上的可行性
Page 6of 17
? 定義系統(tǒng)目標(biāo)‐復(fù)查系統(tǒng)目標(biāo)和規(guī)模‐研究現(xiàn)有系統(tǒng)‐設(shè)計新系統(tǒng)‐再定義系統(tǒng)目標(biāo)。重復(fù)這個過程,直到提出新的系統(tǒng)邏輯模型。
5.導(dǎo)出和評價供選擇的解法;針對多種供選方案,用戶應(yīng)從下面三個方面進行篩選:
? 從技術(shù)角度排除那些不現(xiàn)實的方案; ? 從操作角度去掉那些用戶不能接受的方案;
? 從經(jīng)濟角度估算每個可能的系統(tǒng)的成本/效益。6.推薦建議方案 向用戶提出推薦的方案,在推薦方案中應(yīng)清楚地表明:
? 本項目的開發(fā)價值; ? 推薦這個方案的理由; ? 制定實現(xiàn)項目的進度表。7.草擬開發(fā)計劃
? 工程的進度;
? 人才資源的需求及使用;
? 設(shè)備資源的需求及使用(軟、硬件工具)、估算生存周期每個階段的成本; ? 給出下一階段(需求分析)的詳細(xì)進度表和成本估計。8.書寫文檔提交審查
Page 7of 17
Page 8of 17
Page 9of 17
數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型 沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,沒有數(shù)據(jù)流圖 數(shù)據(jù)字典也難于發(fā)揮作用。第3 章需求分析
需求分析是軟件定義時期的后一個階段,它的基本任務(wù)不是確定系統(tǒng)怎樣完成它的工作,而是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。
獲取的需求的表達(dá)方式:(1)需求列表
需求與系統(tǒng)的特殊視角或環(huán)境的關(guān)系(2)業(yè)務(wù)流程圖(狀態(tài)/活動圖)(3)數(shù)據(jù)流圖(4)實體‐聯(lián)系圖 ER 圖: 實體關(guān)系屬性
驗證軟件需求的正確性,一般應(yīng)從4 個方面進行:(1)一致性所有需求必須是一致的,任何一條需求不能和其 他需求互相矛盾。
(2)完整性需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需
Page 10of 17
要的每一個功能或性能。
(3)現(xiàn)實性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)的。(4)有效性必須證明需求是正確有效的,確實能解決用戶面 對的問題。第四章總體設(shè)計
總體設(shè)計過程一般分為兩個階段
?系統(tǒng)設(shè)計階段:確定系統(tǒng)的物理實現(xiàn)方案
?結(jié)構(gòu)設(shè)計階段:確定軟件的結(jié)構(gòu)設(shè)計模塊的衡量標(biāo)準(zhǔn):
內(nèi)聚耦合
耦合: 數(shù)據(jù)耦合控制耦合公共環(huán)境耦合內(nèi)容耦合結(jié)論:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共
環(huán)境耦合的范圍,完全不用內(nèi)容耦合。
內(nèi)聚:標(biāo)志著一個模塊內(nèi)各個元素彼此間結(jié)合的 緊密程度。內(nèi)聚有六種,由弱到強分別為:(1)偶然內(nèi)聚:
一個模塊程序A 和程序B 內(nèi)有一組語句在兩處或多處出現(xiàn),于是把這組語句作為一個模塊以節(jié)省內(nèi)存,叫偶然內(nèi)聚。(2)邏輯內(nèi)聚
Page 11of 17
(3)時間內(nèi)聚
? 例如,模塊完成各種初始化工作或當(dāng)一個模塊處理
意外故障時,這個模塊必須在中斷處理的同時完成關(guān)閉文件、報警和保留現(xiàn)場等任務(wù),這就構(gòu)成了時間內(nèi)聚。(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚
對于一個模塊而言,模塊自身的內(nèi)聚越強,模塊間的耦合就越小,模塊所具有的獨立性就越好??梢哉f高內(nèi)聚低耦合是我們進行軟件設(shè) 計的一貫原則
面向數(shù)據(jù)流的設(shè)計方法:
信息流的兩種類型: 變換流事務(wù)流(重點)
Page 12of 17 事務(wù)流Page 13of 17
第七章 實現(xiàn) 軟件測試準(zhǔn)則
(1)所有測試都應(yīng)該能追溯到用戶需求。(2)盡早的完成測試計劃
(3)把parteo 原理運用到軟件測試中(4)應(yīng)該從小模塊測試開始,逐步進行測試(5)窮舉測試時不可能的
Page 14of 17
(6)好由獨立的第三方進行測試測試方法
1.白盒測試知道詳細(xì)的內(nèi)部構(gòu)造,知道是怎么運行的
2.黑盒測試只知道軟件的詳細(xì)功能,以及各個功能之間的的產(chǎn)生結(jié)果(也就是流程)
測試步驟
1.模塊測試 ‐‐‐ 單元 2.子系統(tǒng)測試 ‐‐‐ 局部 3.系統(tǒng)測試 ‐‐‐ 集成
4.驗收測試 ‐‐‐ 用戶參與 5.平行運行 ‐‐‐ 新舊共存集成測試:
1、非漸增式測試方法,即:先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序進行測試。
2、漸增式測試,即:先把下一個要測試的模塊同已經(jīng)測試好的那些模塊結(jié)合起來進行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進來測試。這種每次增加一個模塊的方法實際上同時完成單元測試和集成測試.目前在進行集成測試時普遍采用漸增式測試方法。第八章軟件維護
維護的類型有四種: 改正性維護(改正錯誤)適應(yīng)性維護(硬件環(huán)境)擴充與完善性維護(功能完善)
預(yù)防性維護(方法的改進)提高可維護性的方法:
? 建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級 ? 使用提高軟件質(zhì)量的技術(shù)和工具
Page 15of 17
? 進行明確的質(zhì)量保證審查 ? 選擇可維護的程序設(shè)計語言 ? 改進程序的文檔
第十三章軟件項目管理評估軟件規(guī)模的技術(shù): 技術(shù) 功能點技術(shù)
依據(jù)軟件的信息與特性,以及軟件的復(fù)雜度工作量的估算
依據(jù)模型估算出軟件的開發(fā)工作量軟件項目的特點:
無形的產(chǎn)品,難于理解,算法,概念等的集合目標(biāo)系統(tǒng)具有一定的模糊性
軟件看法具有異變性
開發(fā)文檔量大 開發(fā)技術(shù)強代碼行軟件開發(fā)人員的特點:
1.高知識、高技術(shù)、個人作用突出
2.多層次
3.知識更新快,知識更新快這是軟件行業(yè)顯著的特點。4.流動性大
軟件質(zhì)量保證的措施:
Page 16of 17
技術(shù)審查的必要性
走查 審查 序正確性 甘特圖
在進度報告中很有效在作管理陳述時易于讀懂和使用。作為計劃編制工具不是太強。沒有表示活動間的邏輯關(guān)系。程
Page 17of 17
第四篇:選擇題
選擇題和簡答題
1.標(biāo)志著中國新民主主義革命勝利的歷史事件是 A.中華民國的成立 B.抗日戰(zhàn)爭的勝利
C.中華人民共和國的成立 D.三大改造的完成
2.在第一屆中國人民政治協(xié)商會議上,被選為中央人民政府主席的是 A.毛澤東 B.周恩來 C.劉少奇 D.朱德
3.升旗儀式上,當(dāng)五星紅旗冉冉升起的時候,我們心中總會充滿自豪感和使命感。最早將五星紅旗定為我國國旗的會議是
A.中國共產(chǎn)黨第一次全國代表大會 B.第一屆中國人民政治協(xié)商會議 C.第一屆全國人民代表大會 D.中國共產(chǎn)黨第八次全國代表大會
4.歌曲《走進新時代》唱道:“我們唱著東方紅,當(dāng)家作主站做起來,我們唱著春天里的故事,改革開放富起來??”。中國人民“當(dāng)家做主站起來”開始于 A.中華民國成立 B.中國共產(chǎn)黨成立 C.中華人民共和國成立 D.改革開放 5.下列有關(guān)開國大典的表述錯誤的是
A.北京30萬軍民齊集天安門廣場B.毛澤東升起第一面五星紅旗 C.舉行了盛大的閱兵式 D.54門禮炮齊鳴49響
6.1949年,某次會議通過了以下若干決議:“??選舉毛澤東為中央人民政府主席;改北平為北京,并作為中華人民共和國的首都??”這次會議應(yīng)該是 A.第一屆人國人民代表大會 B.中國人民政治協(xié)商會議 C.七屆二中全會 D.十一屆三中全會
7.1949年,毛澤東致信宋慶齡:“新的政治協(xié)商會議將在華北召開,中國人民革命歷盡艱辛,中山先生遺志迄今始告實現(xiàn)?!毙潘f的這次會議通過并被中央人民政府接受其成為新政府施政方針的重要文獻是 A.《中華民國臨時約法》 B.《共同綱領(lǐng)》
C.《中華人民共和國憲法》 D.《中華人民共和國中央人民政府公告》(2)簡述西藏和平解放的基本史實。8.祖國大陸實現(xiàn)統(tǒng)一的標(biāo)志是
A.抗日戰(zhàn)爭勝利 B.人民解放占領(lǐng)南京 C.中華人民共和國成立 D.西藏和平解放 9.藏族歌唱家才旦卓瑪一首《翻身農(nóng)奴把歌唱》唱出了西藏百萬農(nóng)奴翻身后的喜悅,歌詞中“驅(qū)散烏云見太陽”指的是
A.1949年新中國成立 B.1950年抗美援朝開始 C.1951年西藏和平解放 D.1952年土地改革完成(3)講述黃繼光、邱少云等英雄事跡,體會志愿軍戰(zhàn)士的愛國主義和革命英雄主義精神。10.時下人們愛用“最美”這一詞贊美在危難關(guān)頭舍己救人的英雄人物,如“最美女教師張麗莉” “最美司機吳斌”??在二十世紀(jì)五十年代人們用“最可愛的人”來贊美抗美援朝中涌現(xiàn)出的英雄人物。被譽為“最可愛的人”的英雄人物是
①黃繼光 ②董存瑞 ③邱少云 ④楊靖宇 A.①② B.②③ C.①③ D.③④
11.著名的上甘嶺戰(zhàn)役發(fā)生在哪場戰(zhàn)爭中?
A.北伐戰(zhàn)爭 B.抗日戰(zhàn)爭 C.解放戰(zhàn)爭 D.抗美援朝戰(zhàn)爭
(4)知道《中華人民共和國土地改革法》,理解廢除封建土地制度的意義。12.徹底摧毀了我國存在兩千多年的封建土地制度的是
A.土地改革運動 B.農(nóng)業(yè)合作化運動 C.人民公社化運動 D.家庭聯(lián)產(chǎn)承包責(zé)任制
(5)了解第一個五年計劃的基本任務(wù)。
13.新中國成立時工業(yè)十分落后。然而,短短幾年間新中國就生產(chǎn)出了第一批自己的汽車,結(jié)束了中國不能制造汽車的歷史。這主要得益于 A.推行了土地改革 B.中共八大的召開
C.實施了“一五”計劃 D.建設(shè)社會主義總路線的貫徹 14.我國的第一個五年計劃就是集中力量發(fā)展以下哪一產(chǎn)業(yè)? A.農(nóng)業(yè) B.手工業(yè) C.輕工業(yè) D.重工業(yè) 15.有一首非常動聽的歌曲《天路》,唱出了青藏鐵路通車后藏族人民的心聲,而建成通車的青藏公路已經(jīng)為西藏的發(fā)展做出了巨大的貢獻。青藏公路建成于 A.第一個五年計劃時期 B.社會主義探索時期C.文化大革命時期D.改革開放時期
16.為了便于記憶歷史知識,我們常用簡潔的詞語來總結(jié)某一時期的主要建設(shè)成就?!耙粯颉薄ⅰ岸F”、“三藏”、“四廠”總結(jié)的是我國哪一時期的建設(shè)成就?
A.l953~1957年 B.1957~1965年 C.1966~1976年 D.1978~2000年(6)知道1954年頒布了第一部《中華人民共和國憲法》。17.12月4日是全國普法宣傳日,2011年的主題是“深入學(xué)習(xí)宣傳憲法,大力弘揚法治精神”。新中國第一部社會主義類型的憲法頒布于 A.1949年 B.1953年 C.1954年 D.1956年(7)知道對農(nóng)業(yè)、手工業(yè)和資本主義工商業(yè)的社會主義改造基本完成是社會主義制度在我國建立的標(biāo)志。
18.社會主義制度在我國初步建立的標(biāo)志是
A.土地改革的完成 B.《中華人民共和國憲法》的頒布 C.三大改造的完成 D.第一個五年計劃的完成 19.我國開始進入社會主義初級階段的標(biāo)志是
A.中華人民共和國的成立 B.土地改革的基本完成 C.《中華人民共和國憲法》的頒布 D.三大改造的基本完成(8)了解“大躍進”和人民公社化運動是探索社會主義建設(shè)道路過程中的嚴(yán)重失誤。
20.在探索社會主義建設(shè)道路的過程中,中共“八大”成為良好的開端。下列選項中,能夠說明這一良好開端的是
A.正確分析國內(nèi)主要矛盾,確定主要任務(wù)是大力發(fā)展社會生產(chǎn)力 B.決定實施“大躍進”、人民公社化運動 C.決定發(fā)動“文化大革命” D.做出實行改革開放的戰(zhàn)略決策
21.不同時代的宣傳畫體現(xiàn)了不同的時代風(fēng)貌。下圖這幅夸張的宣傳畫出現(xiàn)的時代背景是
A.中華人民共和國的成立 B.“一五”計劃的實施 C.“大躍進”運動的開展 D.“文化大革命”的進行
22.中國共產(chǎn)黨在探索建設(shè)社會主義道路中的一次嚴(yán)重失誤是 A.社會主義三大改造 B.中蘇關(guān)系惡化 C.“大躍進”和人民公社化運動 D.中共八大(9)講述王進喜、鄧稼先、焦裕祿等先進人物艱苦創(chuàng)業(yè)和全心全意為人民服務(wù)的事跡。
23.“向 同志學(xué)習(xí)。憎愛分明的階級立場,言行一致的革命精神,公而忘私的共產(chǎn)主義風(fēng)格。奮不顧身的無產(chǎn)階級斗志。”的題詞中的空格處應(yīng)為 A.雷鋒 B.歐陽海 C.羅盛教 D.齊白石
24.20世紀(jì)60年代.他為了治理蘭考縣水澇、風(fēng)沙、鹽堿三害,親自帶隊到災(zāi)區(qū)調(diào)查。洪水泛濫的時候,他站在齊腰深的洪水里,畫出一張張水勢流向圖。人民稱頌他是“黨的好干部”。他是
A.鄧稼先 B.王進喜 C.雷鋒 D.焦裕祿
(10)簡述“文化大革命”中民主法制和國民經(jīng)濟遭受嚴(yán)重破壞的主要史實,認(rèn)識“文化大革命”給國家和人民帶來了嚴(yán)重災(zāi)難。25.對“文化大革命”的評論恰當(dāng)?shù)氖?/p>
A.廢除了封建土地制度 B.解放了農(nóng)業(yè)生產(chǎn)力
C.基本確立了社會主義制度 D.給國家和人民帶來了巨大災(zāi)難
26.“文化大革命”期間,許多領(lǐng)導(dǎo)干部、專家學(xué)者和民主人士被誣為“走資本主義道路的當(dāng)權(quán)派”,“反動學(xué)術(shù)權(quán)成”等,遭到批斗、迫害。這些現(xiàn)象充分反映了“文化大革命”期間
A.民主與法制遭到嚴(yán)重的踐踏 B.沒有制定法律
C.“走資派”企圖奪取政權(quán) D.黨中央出現(xiàn)了修正主義
(11)認(rèn)識中國共產(chǎn)黨十一屆三中全會是我國社會主義現(xiàn)代化建設(shè)史上的偉大轉(zhuǎn)折。
27.生活的細(xì)節(jié)不經(jīng)意間也會折射出社會政治光譜。1977年的上海市高考作文題自是《在抓綱治國的日子里》?!白ゾV”在當(dāng)時是指 A.以經(jīng)濟建設(shè)為中心 B.以階級斗爭為中心 C.以文化建設(shè)為中心 D.以軍事斗爭為中心
28.中國共產(chǎn)黨十一屆三中全會是新中國歷史上的一個偉大轉(zhuǎn)折,這次會議的召開標(biāo)志著
A.社會主義市場經(jīng)濟體制的確立 B.社會主義制度的確立 C.黨和國家的工作重心發(fā)生轉(zhuǎn)移 D.政治體制改革全面啟動
29.會議重新確立解放思想、實事求是的思想路線,作出將黨和國家的工作重心轉(zhuǎn)移到經(jīng)濟建設(shè)上,是建國以來黨的歷史上具有深遠(yuǎn)意義的轉(zhuǎn)折。這次會議是
A.中共十一屆三中全會B.中共十四大.C中共十二大 D.中共十五大
(12)知道家庭聯(lián)產(chǎn)承包責(zé)任制的主要內(nèi)容,了解生產(chǎn)關(guān)系一定要適應(yīng)生產(chǎn)力發(fā)展需要的基本原則
30.中共十一屆三中全會后,農(nóng)村實行家庭聯(lián)產(chǎn)承包責(zé)任制,農(nóng)民從中獲得了 A.土地所有權(quán) B.村民自治權(quán) C.生產(chǎn)自主權(quán) D.鄉(xiāng)鎮(zhèn)企業(yè)興辦權(quán) 31.2012年2月1日,中共中央、國務(wù)院授權(quán)新華社發(fā)布了《關(guān)于加快推進農(nóng)業(yè)料技創(chuàng)新持續(xù)增強農(nóng)產(chǎn)品供給保障能力的若干意見》,這是新世紀(jì)以來指導(dǎo)“三農(nóng)”工作的第九個中央一號文件,充分體現(xiàn)了黨和政府對“三農(nóng)”問題的重視。新中國成立后,中國農(nóng)村經(jīng)歷了多次重要變革,在今天的社會主義新農(nóng)村建設(shè)中仍然發(fā)揮著巨大作用的是
A.土地改革運動 B.農(nóng)業(yè)合作化運動 C.人民公社化運動 D.家庭聯(lián)產(chǎn)承包責(zé)任制
(13)以深圳等經(jīng)濟特區(qū)的建立為例,探討經(jīng)濟特區(qū)在社會主義現(xiàn)代化建設(shè)中的作用和影響。
32.“邊陲小鎮(zhèn),首批特區(qū),一夜崛起,開放窗口”所描述的城市是 A.珠海 B.汕頭 C.廈門 D.深圳
33.中國對外開放已形成全方位、多層次、寬領(lǐng)域的格局,有力地促進了中國經(jīng)濟的發(fā)展。被譽為“對外開放排頭兵”的是
A.1980年設(shè)立的四個經(jīng)濟特區(qū) B.1985年開放的長江三角洲經(jīng)濟開放區(qū) D.1992年開放的長江沿岸城市 C.1990年設(shè)立的上海浦東開發(fā)區(qū) 34.“如果我們追溯新中國融入世界的歷史,那1980年打開的第一扇‘窗’則需我們永遠(yuǎn)銘記?!?980年我國首先設(shè)立的四個經(jīng)濟特區(qū)是 ①深圳 ②珠海 ③上海 ④汕頭 ⑤廈門
A.①②③④ B.②③④⑤ C.①③④⑤ D.①②④⑤
35.進入二十世紀(jì)九十年代,以哪里開發(fā)開放為龍頭,進一步開放長江沿岸城市?
A.深圳 B.北海 C.秦皇島 D.上海浦東 36.我國對外開放的新格局是
A.經(jīng)濟特區(qū)——沿海開放城市——沿海經(jīng)濟開放區(qū)——內(nèi)地 B.沿海開放城市——沿海經(jīng)濟開放區(qū)——經(jīng)濟特區(qū)——內(nèi)地 C.沿海開放城市——經(jīng)濟特區(qū)——沿海經(jīng)濟開放區(qū)——內(nèi)地 D.經(jīng)濟特區(qū)——沿海經(jīng)濟開放區(qū)——沿海開放城市——內(nèi)地
(14)認(rèn)識鄧小平理論是改革開放和社會主義現(xiàn)代化建設(shè)的指導(dǎo)思想。
37.“一九九二年,又是一個春天,有一位老人在中國的南海邊寫下詩篇。天地間蕩起滾滾春潮,征途上揚起浩浩風(fēng)帆?!备柙~中盛贊的這位老人“在中國的南海邊寫下詩篇”指的是
A.倡導(dǎo)改革開放,實現(xiàn)偉大轉(zhuǎn)折 B.南方談話,改革開放向縱深發(fā)展 C.建立經(jīng)濟特區(qū),實行對外開放 D.港澳回歸,實踐“一國兩制”構(gòu)想 38.十一屆三中全會召開以后,中國共產(chǎn)黨領(lǐng)導(dǎo)全國人民走上了改革開放的新征程。下面不屬于改革開放后創(chuàng)新舉措的是
A.農(nóng)村實行家庭聯(lián)產(chǎn)承包責(zé)任制 B.設(shè)立經(jīng)濟特區(qū)
C.實行民族區(qū)域自治 D.國有企業(yè)實行政企分開
39.鄧小平明確提出“把馬克思主義的普遍真理同我國的具體實際結(jié)合起來,走自己的路,建設(shè)有中國特色的社會主義”的會議是
A.中共十二大 B.中共十三大 C.中共十四大 D.中共十五大
40.“20世紀(jì)的最后20年,在世界的東方,中國進行了一場卓有成效的社會變革,解放了思想的中國人煥發(fā)出蓬勃的創(chuàng)造力,書寫了一個時代最為傳奇的一頁?!边@次變革的總設(shè)計師是
A.毛澤東 B.鄧小平C.江澤民 D.胡錦濤
41.“我們唱著東方紅,當(dāng)家作主站起來;我們講著春天的故事,改革開放富起來。”這首歌描繪的兩位領(lǐng)導(dǎo)人是 A.毛澤東和鄧小平B.孫中山和鄧小平C.孫中山和毛澤東 D.劉少奇和鄧小平
(15)了解我國實行民族區(qū)域自治制度的主要史實。
42.新中國成立后,國家在少數(shù)民族聚居地區(qū)實行的基本政治制度是 A.設(shè)經(jīng)濟特區(qū) B.民族區(qū)域自治 C.設(shè)特別行政區(qū) D.一國兩制 43.民族區(qū)域自治作為我國一項基本國策和基本政治制度,其作用包括
①有利于祖國統(tǒng)一 ②有利于民族平等 ③有利于民族團結(jié) ④有利于地區(qū)發(fā)展 A.①②③ B.②③④ C.①②④ D.①②③④
(16)簡述香港、澳門回歸的史實,說明“一國兩制”的科學(xué)構(gòu)想是推進祖國和平統(tǒng)一大業(yè)的基本方針。
44.我國能夠成功地恢復(fù)對香港、澳門行使主權(quán)的主要原因是
A.國際地位的提高B.綜合國力的增強C.軍事力量的壯大D.“一國兩制”的構(gòu)想
45.湖南省有“湘西土家族苗族自治州”、“江華瑤族自治縣”,它們的設(shè)置與我國哪一項基本政治制度有關(guān)?
A.人民代表大會制度 B.多黨合作和政治協(xié)商制度 C.民族區(qū)域自治制度 D.“一國兩制” 46.香港回歸祖國15年來,歷經(jīng)了兩次金融危機的考驗,繼續(xù)保持繁榮和穩(wěn)定,國際金融中心的地位更加穩(wěn)固。這充分證明了 具有強大的生命力。
A.人民代表大會制度B.改革開放基本國策C.民族區(qū)域自治制度 D.一國兩制
47.香港特別行政區(qū)第四任行政長官選舉于2012年3月25日舉行投票,梁振英以689票在選舉中勝出,當(dāng)選為香港特別行政區(qū)第四屆行政長官。中國恢復(fù)對香港行使主權(quán)是在
A.1949年10月1日B.1979年7月1日 C.1997年7月1日 D.1999年12月20日 48.澳門回歸以來,“國民生產(chǎn)總值以年均15%的增幅快速增長??成為全球最活躍的微型經(jīng)濟體?!边@些成就取得的政治性因素是D A.民族區(qū)域自治 B.人民代表大會制度 C.獨立自主外交 D.“一國兩制”方針
(17)了解祖國大陸與臺灣經(jīng)濟文化交往日益密切的史實,認(rèn)識祖國統(tǒng)一是歷史發(fā)展的必然趨勢。
49.《反分裂國家法》第五條:“??以和平方式實現(xiàn)祖國統(tǒng)一,最符合臺灣海峽兩岸同胞的根本利益。國家以最大的誠意,盡最大的努力,實現(xiàn)和平統(tǒng)一。”實現(xiàn)祖國和平統(tǒng)一的前提和基礎(chǔ)是
A堅持走社會主義道路B堅持互利互補原則C海峽兩岸直接實現(xiàn)通航D堅持一個中國原則
50.“小時候,鄉(xiāng)愁是一枚小小的郵票,我在這頭,母親在那頭。??而現(xiàn)在,鄉(xiāng)愁是一灣淺淺的海峽,我在這頭,大陸在那頭?!睘榻Y(jié)束海峽浪岸的分離狀況,我們提出的基本方針是
A.“一國兩制” B.民族區(qū)域自治 C.改革開放 D.和平共處 51.改革開放以來,在實現(xiàn)祖國統(tǒng)一大業(yè)方面取得的成就有 ①西藏和平解放 ②提出“一國兩制” ③香港、澳門回歸 ④海峽兩岸的交往日益密切
A.①②③ B.①②④ C.①③④ D.②③④
(18)知道和平共處五項原則的主要內(nèi)容,簡述周恩來出席萬隆會議的史實。52.在1955年萬隆會議上,提出“求同存異”方針的我國領(lǐng)導(dǎo)人是 A.毛澤東 B.周恩來 C.鄧小平D.胡錦濤
53.1953年底,中國政府首次提出了和平共處五項原則,在國際社會上產(chǎn)生了廣泛而深刻 影響。其內(nèi)容是
①互相尊重主權(quán)和領(lǐng)土完整 ②互不侵犯 ③互不干涉內(nèi)政 ④獨立自主和平外交 ⑤平等互利 ⑥和平共處
A.①②③⑤⑥ B.①②③④⑤ C.①②④⑤⑥ D.②③④⑤⑥
54.由周恩來倡導(dǎo)的成為國際上處理國與國之間相互關(guān)系基本準(zhǔn)則是
A.四項基本原則B.和平共處五項原則C.求同存異方針D.獨立自主和平外交方針
(19)講述我國恢復(fù)在聯(lián)合國合法席位和中美建交等史實。
55.標(biāo)志著中美關(guān)系結(jié)束敵對、隔絕狀態(tài),開始走向正?;臍v史事件是 A.抗美援朝 B.中國恢復(fù)在聯(lián)合國的席位 C.尼克松總統(tǒng)訪華 D.中美正式建立外交關(guān)系 56.周恩來總理曾說:“我們再等它三年、五年??等我們的力量強大了,再進去不遲??傆幸惶煲埼覀冞M去?!彼f的“請我們進去”是指 A.中印建交 B.出席萬隆會議 C.重返聯(lián)合國 D.中美建交 57.下列有關(guān)新中國外交成就的表述中,錯誤的是 A.1953年提出和平共處五項原則
B.1955年,在萬隆會議上提出“求同存異”方針 C.1971年,與美國正式建立外交關(guān)系 D.2001年,承辦亞太經(jīng)合組織會議
58.新中國成立以來,面對紛繁變幻的國際形勢,我國政府處理對外關(guān)系始終堅持的基本立場是
A.獨立自主 B.求同存異 C.互不侵犯 D.維護主權(quán) 59.圖5是1949—2009年中國與外國建交狀況曲線圖,新中國出現(xiàn)三次建交高峰,導(dǎo)致第二次建交高峰的直接原因是
A.和平共處五項原則的提出B.中美關(guān)系的改善C.抗美援朝戰(zhàn)爭的勝利D.蘇聯(lián)解體(20)知道“兩彈一星”的成功研制、“秈型雜交水稻”的培育推廣等標(biāo)志性成果,以及“863”計劃的制定。
60.曾經(jīng)有一位學(xué)者高度評價袁隆平:“是他使饑餓的威脅退卻,解決了十幾億人口的吃飯問題?!痹∑降耐怀鲐暙I是
A.研制原子彈 B.培育雜交水稻C.設(shè)計三峽工程 D.開發(fā)互聯(lián)網(wǎng)技術(shù) 61.建國后,為了打破美、蘇等國對核武器和航天技術(shù)的壟斷,我國決定 A.建立人民空軍 B.加入亞太經(jīng)合組織 C.研制“兩彈一星” D.實施“863計劃”
62.科技發(fā)展影響世界,科學(xué)名人世人永記。我國著名科學(xué)家鄧稼先的貢獻是 A.提出萬有引力定律 B.發(fā)現(xiàn)電磁感應(yīng)原理 C.研制“兩彈一星” 63.1964年10月,我國取得重大科研成果是
A.第一顆原子彈試爆成功 B.第一枚近程導(dǎo)彈發(fā)射成功 C.第一顆人造地球衛(wèi)星發(fā)射成功 D.第一顆氫彈試爆成功 64.1970年,我國用長征號運載火箭,成功發(fā)射了第一顆 A.導(dǎo)彈 B.氣象衛(wèi)星 C.人造地球衛(wèi)星 D.實用通信衛(wèi)星
65.“兩彈一星”中的“一星”指人造地球衛(wèi)星。1970年我國成功發(fā)射的第一顆人造地球衛(wèi)星是
A.天宮一號 B.嫦娥一號 C.東方紅一號 D.神舟一號 66.在生物工程技術(shù)領(lǐng)域作出重大貢獻的人物是 A.鄧稼先 B.王進喜 C.袁隆平D.焦裕祿
67.1996年作為第八個領(lǐng)域列入《863計劃綱要》并作為高技術(shù)發(fā)展重點的是
A.信息技術(shù) B.生物技術(shù) C.能源技術(shù) D.海洋高技術(shù)
(21)列舉九年義務(wù)教育基本普及和高等教育迅速發(fā)展的史實,認(rèn)識教育發(fā)展在“科教興國”戰(zhàn)略中的地位。
68.九年義務(wù)教育是黨和政府實施“科教興國”戰(zhàn)略的奠基工程。九年義務(wù)教育屬于
A.學(xué)前教育 B.中等教育 C.高等教育 D.基礎(chǔ)教育(22)了解我國文化藝術(shù)和體育事業(yè)的主要成就。
69.2012年倫敦奧運會即將開幕,你知道上一屆奧運會是哪一年申奧成功的嗎?是第幾屆現(xiàn)代奧運會?請選出正確的選項
A.2001年第29屆 B.2008年第29屆 C.2008年第30屆 D.2001年第30屆
(23)以人們衣、食、住、行、用等方面的變化為例,說明改革開放對人們生活方式所產(chǎn)生的影響。
70.下列能夠說明十一屆三中全會后,城鄉(xiāng)人民生活發(fā)生巨變的有 ①憑糧票、肉票等票證購物 ②自駕游成為人們休閑的一種方式 ③吃“公家飯”、端“鐵飯碗”成為大家的追求 ④輕松愜意地網(wǎng)上淘寶、購物 ⑤“低碳”和“原生態(tài)”生活成為時尚 A.①②③ B.②④⑤ C.①④⑤ D.②③④
(24)知道就業(yè)制度的變化,認(rèn)識社會發(fā)展改變了人們的就業(yè)觀念。
71.“打破鐵飯碗”、“人才招聘會”、“自主就業(yè)”等流行語出現(xiàn)突出反映了改革開放以來我國
A.人民生活的提高 B.綜合國力的提升 C.醫(yī)保制度的建立 D.就業(yè)制度的變化
二、非選擇題(共20題): 1.簡要回答第一屆中國人民政治協(xié)商會議召開的背景、會議最重要的兩項內(nèi)容,(3分)說明這一屆政協(xié)會議的作用。(2分)2.(11分)閱讀下列材料,回答問題。
材料一 “深圳的發(fā)展和經(jīng)驗證明,我們建立經(jīng)濟特區(qū)的政策是正確的?!?“特區(qū)是個窗口,是技術(shù)的窗口,管理的窗口,知識的窗口??特區(qū)成為開放的基地,不僅在經(jīng)濟方面、培養(yǎng)人才方面使我們得到好處,而且會擴大我國的對外影響?!?——鄧小平
材料二 1980年——2005年深圳經(jīng)濟發(fā)展變化情況簡表
——摘編自紀(jì)錄片《復(fù)興之路》解說詞 請回答:
(1)材料一中的“政策“首先在哪兩個省份實行?(4分)(2)據(jù)材料二說明深圳經(jīng)濟發(fā)展的變化。(3分)
(3)綜合以上材料,分析經(jīng)濟特區(qū)在社會主義現(xiàn)代化建設(shè)中的作用。(4 分)
3.走近新時代(12分)
材料一 1979年1月1日,美國《時代》周刊封面出現(xiàn)了一位中國老人 的畫像(如圖④所示),其標(biāo)題為“鄧小平,中國新時代的形象”。..... 材料二 在過去計劃經(jīng)濟體制下,政府過多的干預(yù)著國有企業(yè)的生產(chǎn)經(jīng)
營活動,導(dǎo)致企業(yè)活力不夠,效率不高,缺乏競爭力。因此“松綁”成為了二十世紀(jì)80年代中期,中國國有企業(yè)改革的最強音。材料三 歷史進入了二十一世紀(jì),隨著國民經(jīng)濟“十一五”計劃的順利完成,我國綜合國力進一步增強,在工業(yè)、農(nóng)業(yè)、科技等領(lǐng)域取得了輝煌成績,實現(xiàn)了社會主義現(xiàn)代化建設(shè)的巨大成就。閱讀上述材料,回答問題:(1)根據(jù)材料一并結(jié)合所學(xué)知識,指出“中國新時代”始于我黨的哪次會議?鄧小平入選《時代》周刊封面人物的原因是什么?(4分)(2)根據(jù)材料二指出制約國有企業(yè)發(fā)展的原因是什么?結(jié)合所學(xué)知識,指出國有企業(yè)的“松綁”是怎樣進行的?(4分)(3)根據(jù)材料三并結(jié)合所學(xué)知識,指出我國社會主義現(xiàn)代化建設(shè)的指導(dǎo)思想是什么?進入新時代以來,我國現(xiàn)代化建設(shè)的巨大成就有哪些?(請試舉1例)(4分)
4.閱讀下列材料
材料一 “一九五三年將是我國進行大規(guī)模建設(shè)的第一年?!?/p>
“國家建設(shè)包括經(jīng)濟建設(shè)、國防建設(shè)和文化建設(shè),而以經(jīng)濟建設(shè)為基礎(chǔ)?!?“工業(yè)化——這是我國人民百年來夢寐以求的理想,這是我國人民不再受帝國主義欺負(fù)不再過窮困生活的基本保證,因此這是全國人民的最高利益。全國人民必須同心同德,為這個最高利益而積極奮斗?!?——《人民日報》1953年元旦社論
材料二 “我們懷著十分興奮的心情跨入一九七九年?!?/p>
“把全黨工作的著重點轉(zhuǎn)移到社會主義現(xiàn)代化建設(shè)上來,是一個偉大的戰(zhàn)略轉(zhuǎn)變。” “實行四個現(xiàn)代化,大幅度地提高目前落后的生產(chǎn)力,必然要多方面地改變同生產(chǎn)力發(fā)展不適應(yīng)的生產(chǎn)關(guān)系和上層建筑,改變一切不適應(yīng)的管理方式、活動方式和思想方式?!?/p>
——《人民日報》1979年元旦社論 材料三 “在邊遠(yuǎn)地區(qū)、落后地區(qū)和貧困地區(qū),群眾要求包產(chǎn)到戶的,應(yīng)當(dāng)支持群眾的要求應(yīng)當(dāng)支持群眾的要求,可以包產(chǎn)到戶,也可以包干到戶,并在一個較長的時間內(nèi)保持穩(wěn)定;在一般地區(qū),已經(jīng)實行包產(chǎn)到戶的,如果群眾不要求改變,就應(yīng)當(dāng)允許繼續(xù)實行。” ——《中共中央關(guān)于印發(fā)進一步加強和完善農(nóng)業(yè)生產(chǎn)責(zé)任制的幾個問題的通知》1980年9月 請回答(1)依據(jù)材料一結(jié)合所學(xué)知識回答:全國人民的“最高利益”指的是什么?(1分)黨和政府為實現(xiàn)這個“最高利益”而編制的建設(shè)規(guī)劃叫什么?(1分)(2)材料二中“我們十分興奮的心情”因何而起?(2分)請指出“戰(zhàn)略轉(zhuǎn)變”前后,黨的工作重心分別是什么?(2分)(3)結(jié)合材料三回答:為了改變農(nóng)村落后的生產(chǎn)面貌,農(nóng)民作出了何種嘗試?(1分)通過這些嘗試而逐步形成的農(nóng)村改革制度叫什么?(1分)這種制度的全面推行,使農(nóng)村發(fā)生了怎樣的變化?(2分)
(4)綜合上述材料結(jié)合所學(xué)知識,請你為我國現(xiàn)代化經(jīng)濟建設(shè)建言獻策。(2分)
5.讀圖,回答問題(6分)
圖一 毛澤東會見美國總統(tǒng)尼克松 圖二 毛澤東會見日本首相田中角榮(1)圖
一、圖二反映的史實是毛澤東為國家富強、人民幸福在哪一領(lǐng)域做出的不懈努力?(2分)
(2)該領(lǐng)域在當(dāng)時取得的重大成就對中國、世界各有何重大影響?(4分)
第五篇:軟件工程
2.2軟件開發(fā)的基本策略
人們都有自己的世界觀和方法論,能自然而然地運用于生活和工作中。同樣,程序員腦子里的軟件工程觀念會無形地支配其怎么去做事情。軟件工程三十年的發(fā)展,已經(jīng)積累了相當(dāng)多的方法,但這些方法不是嚴(yán)密的理論。實踐人員不應(yīng)該教條地套用方法,更重要的是學(xué)會“選擇合適的方法”和“產(chǎn)生新方法”。有謀略才會有好的戰(zhàn)術(shù)。幾千年前,我們的祖先就在打鬧之際寫下了很多心得體會,被現(xiàn)代人很好地運用于工業(yè)和商業(yè)。本節(jié)講述軟件開發(fā)中的三種基本策略:“復(fù)用”、“分而治之”、“優(yōu)化——折衷”。
2.2.1復(fù)用
復(fù)用就是指“利用現(xiàn)成的東西”,文人稱之為“拿來主義”。被復(fù)用的對象可以是有形的物體,也可以是無形的成果。復(fù)用不是人類懶惰的表現(xiàn)而是智慧的表現(xiàn)。因為人類總是在繼承了前人的成果,不斷加以利用、改進或創(chuàng)新后才會進步。所以當(dāng)我們歡度國慶時,要搞清楚祖國遠(yuǎn)不止50歲,我們今天享用到的財富還有上下五千年人民的貢獻。進步只是應(yīng)該的,不進步則就可恥了。
復(fù)用的內(nèi)涵包括了提高質(zhì)量與生產(chǎn)率兩者。由經(jīng)驗可知,在一個新系統(tǒng)中,大部分的內(nèi)容是成熟的,只有小部分內(nèi)容是創(chuàng)新的。一般地可以相信成熟的東西總是比較可靠的(即具有高質(zhì)量),而大量成熟的工作可以通過復(fù)用來快速實現(xiàn)(即具有高生產(chǎn)率)。勤勞并且聰明的人們應(yīng)該把大部分的時間用在小比例的創(chuàng)新工作上,而把小部分的時間用在大比例的成熟工作中,這樣才能把工作做得又快又好。
把復(fù)用的思想用于軟件開發(fā),稱為軟件復(fù)用。據(jù)統(tǒng)計,世上已有1000億多行程序,無數(shù)功能被重寫了成千上萬次,真是浪費哪。面向?qū)ο螅∣bject Oriented)學(xué)者的口頭禪就是“請不要再發(fā)明相同的車輪子了”。
將具有一定集成度并可以重復(fù)使用的軟件組成單元稱為軟構(gòu)件(Software Component)。軟件復(fù)用可以表述為:構(gòu)造新的軟件系統(tǒng)可以不必每次從零做起,直接使用已有的軟構(gòu)件,即可組裝(或加以合理修改)成新的系統(tǒng)。復(fù)用方法合理化并簡化了軟件開發(fā)過程,減少了總的開發(fā)工作量與維護代價,既降低了軟件的成本又提高了生產(chǎn)率。另一方面,由于軟構(gòu)件是經(jīng)過反復(fù)使用驗證的,自身具有較高的質(zhì)量。因此由軟構(gòu)件組成的新系統(tǒng)也具有較高的質(zhì)量。利用軟構(gòu)件生產(chǎn)應(yīng)用軟件的過程如圖1.5所示。
軟件復(fù)用不僅要使自己拿來方便,還要讓別人拿去方便,是“拿來拿去主義”。面向?qū)ο蠓椒?,Microsoft公司的COM規(guī)范 [Rogerson 1999],都能很好地用于實現(xiàn)大規(guī)模的軟件復(fù)用。
2.2.2分而治之
分而治之是指把一個復(fù)雜的問題分解成若干個簡單的問題,然后逐個解決。這種樸素的思想來源于人們生活與工作的經(jīng)驗,完全適合于技術(shù)領(lǐng)域。軟件人員在執(zhí)行分而治之的時候,應(yīng)該著重考慮:復(fù)雜問題分解后,每個問題能否用程序?qū)崿F(xiàn)?所有程序最終能否集成為一個軟件系統(tǒng)并有效解決原始的復(fù)雜問題?
圖1.6表示了軟件領(lǐng)域的分而治之策略。諸如軟件的體系結(jié)構(gòu)設(shè)計、模塊化設(shè)計都是分而治之的具體表現(xiàn)。軟件的分而治之不可以“硬分硬治”。不像為了吃一個西瓜或是一只雞,揮刀斬成n塊,再把每塊塞進嘴里粉碎攪拌,然后交由胃腸來消化吸收,象征復(fù)雜問題的西瓜或是雞也就此消失了。
2.2.3優(yōu)化——折衷
軟件的優(yōu)化是指優(yōu)化軟件的各個質(zhì)量因素,如提高運行速度,提高對內(nèi)存資源的利用率,使用戶界面更加友好,使三維圖形的真實感更強等等。想做好優(yōu)化工作,首先要讓開發(fā)人員都有正確的認(rèn)識:優(yōu)化工作不是可有可無的事情,而是必須要做的事情。當(dāng)優(yōu)化工作成為一種責(zé)任時,程序員才會不斷改進軟件中的算法,數(shù)據(jù)結(jié)構(gòu)和程序組織,從而提高軟件質(zhì)量。
著名的3D游戲軟件Quake,能夠在PC機上實時地繪制高度真實感的復(fù)雜場景。Quake的開發(fā)者能把很多成熟的圖形技術(shù)發(fā)揮到極致,例如把Bresenham畫線、多邊形裁剪、樹遍歷等算法的速度提高近一個數(shù)量級。我第一次看到Quake時不僅感到震動,而且深受打擊。這個PC游戲軟件的技術(shù)水平已經(jīng)遠(yuǎn)勝于我所見識到的國內(nèi)領(lǐng)先的圖形學(xué)相關(guān)科研成果。這對我們?nèi)找媸⑿械狞c到完止的研發(fā)工作真是莫大的諷刺。所以當(dāng)我們開發(fā)的軟件表現(xiàn)出很多不可救藥的病癥時,不要怨機器差。真的是我們自己沒有把工作做好,寫不好字卻嫌筆鈍。
就假設(shè)我們經(jīng)過思想教育后,精神抖擻,隨時準(zhǔn)備為優(yōu)化工作干上六天七夜。但愿意做并不意味著就能把事情做好。優(yōu)化工作的復(fù)雜之處是很多目標(biāo)存在千絲萬縷的關(guān)系,可謂數(shù)不清理還亂。當(dāng)不能夠使所有的目標(biāo)都得到優(yōu)化時,就需要“折衷”策略。
軟件中的折衷策略是指通過協(xié)調(diào)各個質(zhì)量因素,實現(xiàn)整體質(zhì)量的最優(yōu)。就象黨支部副書記扮演和事佬的角色:“…為了使整個組織具有最好的戰(zhàn)斗力,我們要重用幾個人,照顧一些人,在萬不得已的情況下委屈一批人”。
軟件折衷的重要原則是不能使某一方損失關(guān)鍵的職能,更不可以象“舍魚而取熊掌”那樣拋棄一方。例如3D動畫軟件的瓶頸通常是速度,但如果為了提高速度而在程序中取消光照明計算,那么場景就會喪失真實感,3D動畫也就不再有意義了(如果人類全是色盲,計算機圖形學(xué)將變得異常簡單)。
人都有惰性,如果允許濫用折衷的話,那么一當(dāng)碰到困難,人們就會用拆東墻補西墻的方式去折衷,不再下苦功去做有意義的優(yōu)化。所以我們有必要為折衷制定嚴(yán)正的立場:在保證其它因素不差的前提下,使某些因素變得更好。
下面讓我們用“優(yōu)化——折衷”的策略解決“魚和熊掌不可得兼”的難題。
問題提出:假設(shè)魚每千克10元,熊掌每千克一萬元。有個倔脾氣的人只有20元錢,非得要吃上一公斤美妙的“熊掌燒魚”,怎么辦?
解決方案:化9元9角9分錢買999克魚肉,化10元錢買1克熊掌肉,可做一道“熊掌戲魚”菜。剩下的那一分錢還可建立獎勵基金。
2.3一些不正確的觀念
本節(jié)例舉并分析一些不正確的軟件工程觀念,可幫助初學(xué)者少犯相似的錯誤。
觀念之一:我們擁有一套講述如何開發(fā)軟件的書籍,書中充滿了標(biāo)準(zhǔn)與示例,可以幫助我們解決軟件開發(fā)中遇到的任何問題。
客觀情況:好的參考書無疑能指導(dǎo)我們的工作。充分利用書籍中的方法、技術(shù)和技巧,可以有效地解決軟件開發(fā)中大量常見的問題。但實踐者并不能因此依賴于書籍,這是因為:(1)現(xiàn)實的工作中,由于條件千差萬別,即使是相當(dāng)成熟的軟件工程規(guī)范,常常也無法套用。(2)軟件技術(shù)日新月異,沒有哪一種軟件標(biāo)準(zhǔn)能長盛不衰。祖?zhèn)髅胤皆谀承╊I(lǐng)域很吃香,而在軟件領(lǐng)域則意味著落后。
觀念之二:我們擁有最好的開發(fā)工具、最好的計算機,一定能做出優(yōu)秀的軟件。
客觀情況:良好的開發(fā)環(huán)境只是產(chǎn)出成果的必要條件,而不是充分條件。如果擁有好環(huán)境的是一群庸人,難保他們不干出南轅北轍的事情。
觀念之三:如果我們落后于計劃,可以增加更多的程序員來解決。
客觀情況:軟件開發(fā)不同于傳統(tǒng)的農(nóng)業(yè)生產(chǎn),人多不見得力量大。如果給落后于計劃的項目增添新手,可能會更加延誤項目。因為:(1)新手會產(chǎn)生很多新的錯誤,使項目混亂。(2)老手向新手解釋工作以及交流思想都要花費時間,使實際開發(fā)時間更少。所以科學(xué)的項目計劃很重要,不在乎計劃能提前多少,重在恰如其分。如果用“大躍進”的方式奔向共產(chǎn)主義,只會產(chǎn)生倒退的后果。
觀念之四:既然需求分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活的,隨時可以修改。
客觀情況:對需求把握得越準(zhǔn)確,軟件的修修補補就越少。有些需求在一開始時很難確定,在開發(fā)過程中要不斷地加以改正。軟件修改越早代價越少,修改越晚代價越大,就跟治病一樣道理。
2.4一些有爭議的觀念
本節(jié)探討一些有爭議的觀念,目的不在于得出“正確”或“錯誤”的評斷,而在于爭議會激發(fā)更多理性的思考。
爭議之一:如果軟件運行較慢,是換一臺更快的計算機,還是設(shè)計一種更快的算法?
作者觀點:如果開發(fā)軟件的目的是為了學(xué)習(xí)或是研究,那么應(yīng)該設(shè)計一種更快的算法。如果該軟件已經(jīng)用于商業(yè),則需謹(jǐn)慎考慮:若換一臺更快的計算機能解決問題,則是最快的解決方案。改進算法雖然可以從根本上提高軟件的運行速度,但可能引入錯誤以及延誤進程。技術(shù)狂毫無疑問會選擇后者,因為他們覺得放棄任何可以優(yōu)化的機會就等于犯罪。
類似的爭議還有:是買現(xiàn)成的程序,還是徹底自己開發(fā)?技術(shù)人員和商業(yè)人士常常會有不同的選擇。
爭議之二:有最好的軟件工程方法,最好的編程語言嗎?
作者觀點:在軟件領(lǐng)域永遠(yuǎn)沒有最好的,只有更好的。能解決問題的都是好方法或是好語言。程序員在最初學(xué)習(xí)Basic、Fortran、Pascal、C、C++等語言時會感覺一個比一個好,不免有喜新厭舊之舉。而如今 的Visual Basic、Delphi、Visual C++、Java等語言各有所長,真的難分優(yōu)劣。開發(fā)人員應(yīng)該根據(jù)客觀條件,選擇自己熟悉的方法和語言,才能保證合格的質(zhì)量與生產(chǎn)率。
程序設(shè)計是自由與快樂的事情,不要發(fā)誓忠于某某主義而自尋煩惱。
爭議之三:編程時是否應(yīng)該多使用技巧?
作者觀點:就軟件開發(fā)而言,技巧的優(yōu)點在于能另辟蹊徑地解決一些問題,缺點是技巧并不為人熟知。若在程序中用太多的技巧,可能會留下隱患,別人也難以理解程序。鑒于一個局部的優(yōu)點對整個系統(tǒng)而言是微不足道的,而一個錯誤則可能是致命的。作者建議用自然的方式編程,少用技巧。
《狼三則》的故事告訴我們“失敗的技巧通常是技倆”。當(dāng)我們在編程時無法判斷是用了技巧還是用了技倆,那就少用?!顿u油翁》的故事又告訴我們“熟能生巧”,表明技巧是自然而然產(chǎn)生的,而不是賣弄出來的。賣油翁的絕技是可到中央電視臺表演的,而他老人家卻謙虛地說:“沒啥沒啥,用熟了而已”。
爭議之四:軟件中的錯誤是否可按嚴(yán)重程度分等級?
作者觀點:在定量分析時,可以將錯誤分等級,以便于管理。微軟的一些開發(fā)小組將錯誤分成四個等級 [Cusumano 1996],如表1.1所示。
一級嚴(yán)重:錯誤導(dǎo)致軟件崩潰。
二級嚴(yán)重:錯誤導(dǎo)致一個特性不能運行并且沒有替代方案。
三級嚴(yán)重:錯誤導(dǎo)致一個特性不能運行但有替代方案。
四級嚴(yán)重:錯誤是表面化的或是微小的。
表1.1 錯誤的四個等級
上述分類是非常技術(shù)性的,并不是普適的。假設(shè)某個財務(wù)軟件有兩個錯誤:錯誤A使該軟件死掉,錯誤B導(dǎo)致工資計算錯誤。按表1.1分類,錯誤A屬一級嚴(yán)重,錯誤B屬二級嚴(yán)重。但事實上B要比A嚴(yán)重。工資算多了或者算少了,將會使老板或員工遭受經(jīng)濟損失。而錯誤A只使操作員感到厭煩,并沒有造成經(jīng)濟損失。另一個示例是操作手冊寫錯,按表1.1分類則屬四級嚴(yán)重,但這種錯誤可能導(dǎo)致機毀人亡。
開發(fā)人員應(yīng)該意識到:所有的錯誤都是嚴(yán)重的,不存在微不足道的錯誤。這樣才能少犯錯誤。
2.5小 結(jié)
軟件工程學(xué)科發(fā)展到今天,已經(jīng)有了很多方法和規(guī)范,學(xué)之不盡。本章只在宏觀上討論了軟件工程的一些
思想,更具體的內(nèi)容將在后面的章節(jié)論述。無論是什么好方法,貴在理解與靈活運用,而不可當(dāng)成靈丹妙藥,不象“吃了腦黃金或腦白金,就能使一億人先聰明起來”。
3程序員與程序經(jīng)理
工作在第一線的軟件開發(fā)人員是程序員和程序經(jīng)理,他們決定著軟件的命運。良好的程序員隊伍和出色的管理是軟件項目成功的必要條件。管理不是管制,不是去卡住人家的脖子,因為程序員不是一群野鴨子。管理的目的是讓大家一起把工作做好,并且讓各人獲得各自的快樂和滿足。當(dāng)一個組織被出色地領(lǐng)導(dǎo)時,雇員甚至不知道他們已被領(lǐng)導(dǎo)。在項目完成時,他們會自豪地說:“看看我們通過努力取得的成績吧”。所以管理者不能老惦記著自己是一個官,而應(yīng)時刻意識到自己是責(zé)任的主要承擔(dān)者。
我們經(jīng)常會聽到有經(jīng)理頭銜的人在高談闊論:“編程我不會,做個項目還不easy?派個人去搞系統(tǒng)分析,回頭再叫幾個程序員把需求譯成程序,不就OK了嗎?”
不懂英語的人準(zhǔn)以為easy和OK是貶義詞。要讓軟件項目失敗很容易,只要符合下列條件之一即可:
(1)項目經(jīng)理對軟件一無所知;
(2)技術(shù)負(fù)責(zé)人對編程不感興趣;
(3)真真編寫代碼的程序員是臨時雇用的。
如果上述三個條件同時具備,就請放心失敗好了。
讓我們少幻想自己是比爾·蓋茨,先當(dāng)好程序員和程序經(jīng)理再說。
3.1了解程序員
早期的程序員干活能從軟件直通硬件,個個生猛無比。又因他們的作息時間、言行舉止與常人不太一樣,久而久之就給人們留下了“神秘”、“孤僻”的印象。如今軟件行業(yè)被炒得熱火朝天,有能耐的程序員即便躲在大山岙的軍工廠里也能被挖出來。而更多原本不是程序員的人操起幾本“速成”、“二十一天通”等書籍也加入了這個行業(yè)?,F(xiàn)在國內(nèi)號稱有上百萬程序員,這支大軍魚龍混雜,已搞不清那些是正規(guī)軍,那些是民兵游擊隊了。