軟件導論復習資料知識點匯總_第1頁
軟件導論復習資料知識點匯總_第2頁
軟件導論復習資料知識點匯總_第3頁
軟件導論復習資料知識點匯總_第4頁
軟件導論復習資料知識點匯總_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、PAGE 軟件導論復習資料知識點匯總在軟件開發(fā)模型中,提出最早、應用最廣泛的模型是( )。A瀑布 B螺旋 C演化 D智能軟件工程方法是在實踐中不斷發(fā)展著的方法,而早期的軟件工程方法一般是指( )。A原型化方法 B結(jié)構(gòu)化方法C面向?qū)ο蠓椒?D功能分解法下列關(guān)于瀑布模型的描述正確的是()。A利用瀑布模型,如果發(fā)現(xiàn)問題修改的代價很低B瀑布模型的核心是按照軟件開發(fā)的時間順序?qū)栴}簡化C瀑布模型具有良好的靈活性D瀑布模型采用結(jié)構(gòu)化的分析與設計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開原型化方法是用戶和設計者之間執(zhí)行的一種交互構(gòu)成,適用于( )系統(tǒng)。A需求不確定性高的 B需求確定的C管理信息 D實時軟件開發(fā)瀑布模型中

2、的軟件定義時期各個階段依次是( )。A問題定義,可行性研究,需求分析。 B可行性研究,問題定義,需求分析。C可行性研究,需求分析,問題定義。D以上順序都不對。開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象是 ( )的一種表現(xiàn) 。A. 軟件工程 B. 軟件周期 C. 軟件危機 D. 軟件產(chǎn)生快速原型模型的主要特點之一是 ( )。A. 開發(fā)完畢才見到產(chǎn)品 B. 及早提供全部完整的軟件產(chǎn)品C. 開發(fā)完畢后才見到工作軟件 D. 及早提供工作軟件軟件工程中常用的生命周期模型有( )等。A瀑布模型,快速原型模型,增量模型,螺旋模型和噴泉模型B瀑布模型,快速循環(huán)模型,擴展模型,螺旋模型和敏捷模

3、型C瀑布模型,快速循環(huán)模型,增量模型,螺旋模型和噴泉模型D瀑布模型,快速原型模型,增量模型,螺旋模型和敏捷模型軟件工程方法是在實踐中不斷發(fā)展著的方法,而早期的軟件工程方法常用模型不包括( )。A瀑布模型 B敏捷模型 C原型模型 D螺旋模型軟件開發(fā)瀑布模型中的各個階段依次是( )。A設計、分析、實現(xiàn)、測試、維護。 B分析、設計、測試、實現(xiàn)、維護。C分析、設計、實現(xiàn)、維護、測試。D分析、設計、實現(xiàn)、測試、維護。軟件危機的表現(xiàn)不包括( )。A軟件質(zhì)量不可靠 B軟件幾乎是不可維護的C測試過程中發(fā)現(xiàn)的錯誤較多 D缺少文檔瀑布模型的主要特點之一是 ( )。A. 推遲實現(xiàn) B. 成功率極高 C. 容易失敗

4、D. 過程迭代在軟件生產(chǎn)的程序系統(tǒng)時代由于軟件規(guī)模擴大和軟件復雜性提高等原因?qū)е铝耍?)。A軟件危機 B軟件工程C程序設計革命 D結(jié)構(gòu)化程序設計軟件工程是( )。A是結(jié)構(gòu)化程序設計的指導方法。B是軟件開發(fā)技術(shù)和軟件工程管理學為內(nèi)容的學科。C是指導計算機軟件開發(fā)和維護的工程學科。D是指導軟件開發(fā)的工程方法。在各種不同的軟件需求中,功能需求描述了用戶使用產(chǎn)品必須要完成的任務,可以在用例模型或方案腳本中予以說明,( )是從各個角度對系統(tǒng)的約束和限制,反映了應用對軟件系統(tǒng)質(zhì)量和特性的額外要求。A業(yè)務需求 B系統(tǒng)要求 C非功能需求 D用戶需求軟件可行性研究一般不考慮( ) 。A是否有足夠的人員和相關(guān)的技

5、術(shù)來支持系統(tǒng)開發(fā)B是否有足夠的工具和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)C待開發(fā)軟件是否有市場、經(jīng)濟上是否合算D待開發(fā)的軟件是否會有質(zhì)量問題經(jīng)濟可行性研究的范圍包括( )。A資源有效性 B管理制度 C效益分析 D開發(fā)風險研究開發(fā)所需要的成本和資源是屬于可行性研究中的( )。A. 技術(shù)可行性 B. 經(jīng)濟可行性 C. 社會可行性 D. 法律可行性研究開發(fā)的軟件是否符合相關(guān)法律規(guī)定是屬于可行性研究中的( )。A.技術(shù)可行性 B. 經(jīng)濟可行性 C. 社會可行性 D. 法律可行性可行性研究實質(zhì)上是進行了一次( )。A. 簡化了的系統(tǒng)分析和設計過程B. 詳盡的系統(tǒng)分析和設計過程C. 徹底的系統(tǒng)設計過程 D. 深入的需

6、求分析可行性研究階段的主要任務包括( )。A分析和澄清問題定義 B導出系統(tǒng)的邏輯模型C制定粗略的進度建議和計劃 D以上全是需求分析的任務包括( )。A確定對系統(tǒng)的綜合要求 B分析系統(tǒng)的數(shù)據(jù)要求C導出邏輯模型并修正開發(fā)計劃 D以上全是需求分析的任務不包括( )。A確定對系統(tǒng)的綜合要求 B分析系統(tǒng)的數(shù)據(jù)要求C從技術(shù)角度分析系統(tǒng)是否可行 D導出邏輯模型并修正開發(fā)計劃要將一個復雜的系統(tǒng)分析清楚,傳統(tǒng)軟件工程常用方法是結(jié)構(gòu)化分析方法,結(jié)構(gòu)化分析方法就是A面向數(shù)據(jù)流自頂向下逐步求精的方法B由內(nèi)向外進行分析的方法C先局部后整體的分析方法D使用IPO圖形工具分析的方法需求分析是要完整準確清晰具體地確定系統(tǒng)所要

7、完成的工作,其主要依據(jù)是前一階段的文檔A用戶手冊和參考手冊 B軟件需求規(guī)格說明書C開發(fā)計劃 D可行性研究報告需求分析階段的主要任務是確定( )。A軟件開發(fā)方法 B軟件開發(fā)工具C軟件開發(fā)費 D軟件系統(tǒng)的功能數(shù)據(jù)字典是用來定義()中的各個成份的具體含義的。A流程圖 B功能結(jié)構(gòu)圖C系統(tǒng)結(jié)構(gòu)圖 D數(shù)據(jù)流圖數(shù)據(jù)流圖是一種用來描述( )的圖形化工具。A系統(tǒng)物理組成 B系統(tǒng)信息流和數(shù)據(jù)流C所有功能 D系統(tǒng)控制流和數(shù)據(jù)流( )和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型,沒有它,數(shù)據(jù)流圖就不完整。A系統(tǒng)流程圖 BE-R圖C數(shù)據(jù)字典 D層次方框圖數(shù)據(jù)流圖DFD中的每個加工至少需要( )。A. 一個輸入流 B. 一個輸出流和

8、一個輸入流C. 一個輸入或輸出流 D .一個輸出流數(shù)據(jù)流圖(DFD)是 ()方法中用于表示系統(tǒng)的邏輯模型的一種圖形工具。ASA BSD CSP DSC使用實體-聯(lián)系圖(ER圖)建立的概念性數(shù)據(jù)模型中包含3種互相關(guān)聯(lián)的信息:( )。A數(shù)據(jù)對象,屬性,方法 B數(shù)據(jù)對象,屬性,聯(lián)系C數(shù)據(jù)表,屬性,聯(lián)系 D數(shù)據(jù)表,實體,聯(lián)系模塊的內(nèi)聚性最高的是( )A. 邏輯內(nèi)聚 B. 時間內(nèi)聚C. 偶然內(nèi)聚 D. 功能內(nèi)聚總體設計的目的是確定整個系統(tǒng)的()。A規(guī)模 B功能及模塊結(jié)構(gòu)C費用 D測試方案一個模塊內(nèi)部各程序都在同一數(shù)據(jù)結(jié)構(gòu)上操作,這個模塊的內(nèi)聚性稱為( )。A時間內(nèi)聚 B功能內(nèi)聚C通信內(nèi)聚 C過程內(nèi)聚軟件

9、總體設計是指軟件總體結(jié)構(gòu)設計和數(shù)據(jù)設計,該階段的主要任務不包括( )。A. 設計軟件的模塊結(jié)構(gòu) B. 定義接口并建立數(shù)據(jù)結(jié)構(gòu)C. 模塊設計 D. 生成概要設計規(guī)格說明如果某種內(nèi)聚要求一個模塊中包含的任務必須在同一段時間內(nèi)執(zhí)行,則這種內(nèi)聚為( )。A時間內(nèi)聚 B邏輯內(nèi)聚 C通信內(nèi)聚 D信息內(nèi)聚為了提高模塊的獨立性,模塊之間最好使用( )。A. 控制耦合 B. 公共耦合 C. 內(nèi)容耦合 D. 數(shù)據(jù)耦合結(jié)構(gòu)化程序設計的一種基本方法是( )。A篩選法 B遞歸法 C歸納法 D逐步求精法對軟件進行分解,是為了( )。A降低模塊間接口的復雜程度B降低模塊的復雜程度C降低模塊的復雜程度,并降低模塊間接口的復雜

10、程度D降低模塊的復雜程度,并提高模塊間接口的復雜程度在軟件工程中,描繪軟件結(jié)構(gòu)的圖形工具不包括( )。A. 層次圖 B. HIPO圖 C. PAD圖 D. H圖在詳細設計階段經(jīng)常采用的圖形工具包括( )。APAD圖 B程序流程圖 CN-S圖 D以上都是提高程序可讀性的手段包括( )。A使用三種標準控制結(jié)構(gòu) B采用有實際意義的變量名C. 給程序加注釋 D以上都是結(jié)構(gòu)化程序設計的三種基本控制結(jié)構(gòu)不包括( )。A順序 B選擇 C轉(zhuǎn)移 D循環(huán)詳細設計中,過程設計的常用圖形工具不包括( )。A程序流程圖 B數(shù)據(jù)流圖 CN-S盒圖 DPAD圖下列關(guān)于詳細設計中的說法中正確的是( )等。A詳細設計任務相當于

11、設計程序的“藍圖”B詳細設計的根本目標是應該怎樣具體地實現(xiàn)系統(tǒng)C詳細設計編寫代碼D以上都正確結(jié)構(gòu)化程序之所以具有易于閱讀,并且有可能驗證其正確性,這是由于( )A它強調(diào)編程風格 B選擇良好的數(shù)據(jù)結(jié)構(gòu)和算法C. 有限制地使用GOTO語句 D只有三種基本結(jié)構(gòu)程序設計語言主要分三大類:機器語言,匯編語言和( )。A邏輯語言 B高級語言 C自然語言 D智能語言結(jié)構(gòu)化程序設計中的三種基本控制結(jié)構(gòu)是( )。A過程、子程序和分程序 B順序、選擇和循環(huán)C遞歸、堆棧和隊列 D調(diào)用、返回和轉(zhuǎn)移軟件詳細設計的主要任務是確定每個模塊的 ( )。A算法和使用的數(shù)據(jù)結(jié)構(gòu) B外部接口C功能 D編程在詳細設計階段,經(jīng)常采用的

12、工具包括( )。A程序流程圖 BSA CSC DDFD詳細設計的結(jié)果基本決定了最終程序的( )。A代碼的規(guī)模 B運行速度 C質(zhì)量 D可維護性兩個模塊彼此傳遞的信息中有控制信息,這種耦合稱為( )。A數(shù)據(jù)耦合 B公共環(huán)境耦合 C內(nèi)容耦合 D控制耦合結(jié)構(gòu)化設計又稱為( )。A. 概要設計B. 面向數(shù)據(jù)流設計C. 面向?qū)ο笤O計D. 詳細設計按照總體設計中的啟發(fā)式規(guī)則,模塊的作用域和模塊的控制域之間的關(guān)系應為( ) 。A. 模塊的作用域應在模塊的控制域之內(nèi)。B. 模塊的控制域應在模塊的作用域之內(nèi)。C. 模塊的控制域與模塊的作用域互相獨立。D. 以上說法都不對。在SD方法中全面指導模塊劃分的最重要的原則

13、是 ( )。A. 程序模塊化 B. 模塊高內(nèi)聚 C. 模塊低耦合 D. 模塊獨立性軟件總體設計是指軟件總體結(jié)構(gòu)設計和數(shù)據(jù)設計,該階段的主要任務不包括( )。A. 設計軟件的模塊結(jié)構(gòu) B. 定義接口并建立數(shù)據(jù)結(jié)構(gòu)C. 模塊內(nèi)部算法設計 D. 生成概要設計規(guī)格說明軟件詳細設計主要采用的方法是( )。A. 模塊設計 B. 結(jié)構(gòu)化設計 C. PDL語言 D. 結(jié)構(gòu)化程序設計詳細設計中,過程設計的常用工具有( )等。A程序流程圖,N-S盒圖,PAD圖 B程序流程圖,數(shù)據(jù)流圖C程序流程圖,系統(tǒng)流程圖 D程序流程圖,E-R圖結(jié)構(gòu)化程序設計主要強調(diào)的是( )。A程序易讀性 B程序的效率C程序設計語言的先進性

14、D程序的規(guī)模提高程序可讀性的最有力手段是( )。A使用三種標準控制結(jié)構(gòu) B采用有實際意義的變量名C. 顯式說明一切變量 D給程序加注釋一般來說,在軟件生命周期中成本最高的階段是( )。A. 詳細設計 B. 軟件編碼C. 軟件測試 D. 軟件維護軟件測試中根據(jù)測試用例設計的方法的不同可分為黑盒測試和白盒測試兩種,它們( )。A前者屬于靜態(tài)測試,后者屬于動態(tài)測試B前者屬于動態(tài)測試,后者屬于靜態(tài)測試C都屬于靜態(tài)測試D. 都屬于動態(tài)測試若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方

15、法是( )。A. 條件覆蓋法 B. 等價分類法 C. 邊界值分析法 D. 錯誤推測法單元測試的測試用例主要根據(jù)( )的結(jié)果來設計。A. 需求分析 B. 詳細設計 C. 概要設計 D. 源程序軟件測試是為了( )而執(zhí)行程序的過程。A. 糾正錯誤 B. 發(fā)現(xiàn)錯誤 C. 避免錯誤 D. 證明正確常用的黑盒測試方法不包括( )。A等價劃分 B邊界值分析 C邏輯覆蓋 D錯誤推測軟件測試中,白盒法是通過分析程序的( )來設計測試用例的。A應用范圍 B內(nèi)部邏輯 C功能 D輸入數(shù)據(jù)使用黑盒測試時,測試用例的設計應根據(jù)( )。A程序的內(nèi)部邏輯 B程序的復雜程度C使用說明書 D程序的功能與確認測試階段有關(guān)的文檔是

16、( )。A需求規(guī)格說明書 B概要設計說明書C詳細設計說明書 D源程序( )是指程序在給定的時間點,按照規(guī)格說明書的規(guī)定成功運行的概率。A可移植性 B可用性 C可靠性 D可擴展性為軟件的運行增加監(jiān)控設施以應對將來可能出現(xiàn)的問題,這種維護的維護類型是( )。A改正性維護 B適應性維護 C完善性維護 D預防性維護在整個軟件維護階段所花費的全部工作中,哪種維護所占比例最大?( )A改正性維護 B適應性維護 C完善性維護 D預防性維護產(chǎn)生軟件維護的副作用,是指 ( )A開發(fā)時的錯誤 B隱含的錯誤C因修改軟件而造成了新的錯誤 D運行時誤操作下列屬于維護階段的文檔是 ( )。A. 軟件規(guī)格說明 B. 用戶操

17、作手冊C. 軟件問題報告 D. 軟件測試分析報告維護活動必須應用于( )A軟件文檔 B整個軟件配置C可執(zhí)行代碼 D數(shù)據(jù)為了提高軟件的可維護性,在編碼階段應注意( )。A. 保存測試用例和數(shù)據(jù) B. 提高模塊的獨立性C. 文檔的副作用 D. 養(yǎng)成好的程序設計風格以下哪些問題是維護人員經(jīng)常面對的問題?( )。A理解別人的程序非常困難 B文檔不合格C設計時沒考慮未來的修改維護 D以上都是決定軟件可維護性的因素包括( )。A可理解性,可測試性,可修改性,可移植性,可用性B可理解性,可測試性,可修改性,可移植性,可重用性C可理解性,可靠性,可測試性,可修改性,可移植性D可理解性,可擴展性,可測試性,可修

18、改性,可升級性軟件生存周期的( )工作與軟件可維護性有著密切的關(guān)系。A編碼階段 B設計階段 C測試階段 D每個階段軟件維護困難的主要原因是( )。A. 費用低 B. 人員少C. 開發(fā)設計中的缺陷 D. 得不到用戶支持因計算機硬件和軟件環(huán)境的變化而作出的修改軟件的過程稱為 ( )。A. 改正性維護 B. 適應性維護 C. 完善性維護 D. 預防性維護在軟件維護的實施過程中,為了正確和有效地修改,需要經(jīng)歷以下三個步驟:分析和理解程序,修改程序,重新驗證程序。( )是決定維護成敗和質(zhì)量好壞的關(guān)鍵。A分析和理解程序 B重新驗證程序 C修改程序 D驗收程序( )是指程序在給定的時間間隔內(nèi),按照規(guī)格說明書

19、的規(guī)定成功運行的概率。A可移植性 B可用性 C可靠性 D可擴展性軟件可移植性是用來衡量軟件的( )的重要尺度之一。A人機關(guān)系 B效率 C質(zhì)量 D通用性軟件質(zhì)量必須在()加以保證。A開發(fā)之前 B開發(fā)之后C可行性研究過程中 D設計與實現(xiàn)過程中面向?qū)ο蠹夹g(shù)中,對象是類的實例。對象有三種成份:( )、屬性和方法。A. 標識 B. 規(guī)則 C. 封裝 D. 消息( )是把對象的屬性和操作結(jié)合在一起,構(gòu)成一個獨立的對象,其內(nèi)部信息對外界是隱蔽的,外界只能通過有限的接口與對象發(fā)生聯(lián)系。A. 多態(tài)性 B. 繼承 C. 封裝 D. 消息消息是對象間交互的一種機制,消息刺激接收對象產(chǎn)生某種行為。消息的構(gòu)成有三部分:

20、( ),消息名,若干變元。A發(fā)出消息的對象 B接收消息的對象 C消息編號 D時間面向?qū)ο笤O計準則包括:模塊化,抽象,( ),弱耦合,強內(nèi)聚和可重用。A信息隱藏 B可繼承 C封裝性 D實例化( )意味著一個操作在不同的類中可以有不同的實現(xiàn)方式。A多態(tài)性 B多繼承 C類的復用 D封裝軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫( )。A生存期 B面向?qū)ο蠓治鯟面向?qū)ο蟪绦蛟O計 D面向?qū)ο笤O計把一組具有相似特性的對象的描述,稱之為( )。A. 多態(tài)性 B. 繼承性 C. 類 D. 消息面向?qū)ο蠓治龅莫毜街幵谟冢?)。A將數(shù)據(jù)和操作結(jié)合在一起而不是分離 B僅考慮數(shù)據(jù)結(jié)構(gòu)C數(shù)據(jù)和操作

21、分別獨立考慮 D僅考慮操作過程下面關(guān)于面向?qū)ο蠓椒ㄖ邢⒌臄⑹?,不正確的是( )。A. 鍵盤、鼠標、通信端口、網(wǎng)絡等設備一有變化,就會產(chǎn)生消息B操作系統(tǒng)不斷向應用程序發(fā)送消息,但應用程序不能向操作系統(tǒng)發(fā)送消息C. 應用程序之間可以相互發(fā)送消息D發(fā)送與接收消息的通信機制與傳統(tǒng)的子程序調(diào)用機制不同面向?qū)ο蠓治鍪菍ο到y(tǒng)進行()的一種方法。A需求建模 B程序設計 C設計評審 D測試驗收汽車有一個發(fā)動機。汽車和發(fā)動機之間的關(guān)系是( )。A繼承關(guān)系 B聚合關(guān)系C分類關(guān)系D主從關(guān)系消息是對象間交互的手段,消息刺激接收對象產(chǎn)生某種行為。消息的構(gòu)成有三部分:接收消息的對象,( ),若干變元。A發(fā)出消息的對象 B

22、消息名 C消息編號 D發(fā)送時間( )是指用戶只能見到對象界面上的信息,對象內(nèi)部對用戶是隱蔽的。A類 B實例 C封裝 D對象對象是OO方法的核心,對象的類型有多種,但通常把如飛行、事故、演出、開會等稱為( )A有形實體 B作用 C事件 D性能說明汽車有一種叫貨車。汽車和貨車之間的關(guān)系是( )。A繼承關(guān)系 B聚合關(guān)系C分類關(guān)系D主從關(guān)系( )是對具有相同屬性和行為的一個或多個對象的描述。A屬性 B實例 C類 D對象1-5 ABDAA6-10 CDABD11-15 CAACC16-20 DCBDA21-25 DDCAD26-30DDBCB31-35ABDBC36-40CADDB41-45CDDCB4

23、6-50DDBBA51-55ACDBA56-60DCDAA61-65ADDCB66-70BCBDA71-75BDCCC76-80BDDBD81-85CBACD86-90DACBA91-95ABCAB96-102ABBCCAC填空題基于計算機系統(tǒng)的軟件要素中的軟部件由_、_和_組成。軟件工程方法學分兩類:_方法學和_方法學。軟件工程的目標是在給定成本、_的前提下開發(fā)出高質(zhì)量的、_的軟件產(chǎn)品。_是軟件生存期中的一系列相關(guān)軟件工程活動的集合,它由軟件規(guī)格說明、軟件設計與開發(fā)、軟件確認、軟件改進等活動組成。軟件工程采用層次化的方法,每個層次都包括_、方法、_三要素。使用_這一軟件過程模型可以讓用戶更多

24、、更早地參與需求分析過程。需求分析方法包括:_的分析方法、面向過程流的分析方法、_的分析方法。描繪物理系統(tǒng)的傳統(tǒng)工具是_。需求分析階段產(chǎn)生的文檔是_,它的主要組成部分是_。數(shù)據(jù)流圖用圖形符號表示_、_、數(shù)據(jù)源及數(shù)據(jù)存儲。實體關(guān)系圖是_的基礎,它描述_、屬性及其關(guān)系。軟件設計的主要任務是根據(jù)_導出系統(tǒng)的實現(xiàn)方案。一個模塊擁有的直屬下級模塊的個數(shù)稱為_,一個模塊的直接上級模塊的個數(shù)稱為_。將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)時,所用映射方法涉及信息流的類型。其信息流分為_和_兩種類型。耦合的強弱取決于_的復雜性、進入或調(diào)用模塊的位置以及通過界面?zhèn)魉蛿?shù)據(jù)的多少等??傮w設計確定模塊的_,而詳細設計確定模塊的_。軟

25、件結(jié)構(gòu)是以_為基礎而組成的一種控制層次結(jié)構(gòu)。詳細設計的工具分為_、_和_三大類。軟件過程設計中最常用的技術(shù)和工具主要為程序流程圖、_、_、盒圖、_和PDL語言。詳細設計通常以_技術(shù)為邏輯基礎,因為從軟件工程觀點看,_是軟件最重要的質(zhì)量標準之一。對于復雜數(shù)據(jù)中的數(shù)據(jù)元素的組成方式有_、_、_和可選等四種基本類型。影響編碼質(zhì)量的因素包括_、編程準則和_。軟件維護的副作用大致可分為三類:代碼副作用、_副作用、_的副作用。軟件測試的目的是_,通常把測試方法分為_和_兩大類。因為通常不可能做到_,所以精心設計_是保證達到測試目的所必需的。進行軟件測試的關(guān)鍵是設計出_的測試用例,測試用例應由_和_兩部分組

26、成。單元測試過程應為測試模塊開發(fā)一個_和(或)若干個_。進行單元測試的依據(jù)是_描述,單元測試應對模塊內(nèi)所有重要的_設計測試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯誤。確認測試應檢查軟件能否按合同要求進行工作,即是否滿足_的確認標準。UML的類包含三個部分:類的名稱、_、_。類之間的繼承關(guān)系式現(xiàn)實世界中遺傳關(guān)系的模擬,它表示類之間的內(nèi)在聯(lián)系以及對_的共享。UML類之間的關(guān)系主要有_、聚集、_和依賴。類A的一個操作調(diào)用類B的一個操作,且這兩個類之間不存在其他關(guān)系,那么類A和類B之間是_關(guān)系。在面向?qū)ο蟮能浖校琠是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義;_是由某個特定的類所描述的一個具體對象。面向?qū)ο蠓椒?/p>

27、用_分解取代了傳統(tǒng)方法的_分解。判斷題計算機軟件由文檔和數(shù)據(jù)組成。 ( )軟件開發(fā)采用了軟件工程之后,就不會發(fā)生軟件危機了。( )軟件工程使用的軟件工具能夠自動或半自動地支持軟件的開發(fā)、管理和文檔的生成。( )一個好的開發(fā)人員應具備的素質(zhì)和能力包括善于與周圍人員團結(jié)協(xié)作,建立良好的人際關(guān)系,善于聽取別人的意見。( )缺乏處理大型軟件項目的經(jīng)驗,是產(chǎn)生軟件危機的唯一原因。( )軟件開發(fā)小組人數(shù)越多越好。( )難以控制開發(fā)進度和工作量估計困難時軟件危機的主要表現(xiàn)之一。( )面對日益增長的軟件需求,人們顯得力不從心。往往是產(chǎn)生軟件危機的原因之一。( )軟件需求是指用戶對目標軟件系統(tǒng)在功能、性能、行為

28、、設計約束等方面的期望。( )系統(tǒng)規(guī)格說明書是系統(tǒng)分析和定義階段生成的一種文檔。( )需求分析階段所生成的文檔主要是進度計劃和可行性研究報告。( )軟件就是完成特定功能的程序的集合。( )瀑布模型在實際的項目中嚴格順序執(zhí)行就基本可以成功。( )快速原型技術(shù)的適用于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或設計一些復雜的算法等場合。( )只要實行嚴格的產(chǎn)品控制就不用擔心用戶隨意改需求。( )在可行性研究中最難決斷和最關(guān)鍵的問題是技術(shù)可行性。( )流程圖用三個基本的控制構(gòu)件“分支”,“循環(huán)”,“重復”來表示。( )數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集

29、合。系統(tǒng)分析階段和系統(tǒng)設計階段一般不考慮測試。( )改造程序結(jié)構(gòu),要降低耦合度,提高內(nèi)聚度。( )一個軟件系統(tǒng)中可能會出現(xiàn)所有模塊之間沒有任何聯(lián)系的情況。( )采用信息隱藏原理指導模塊設計可以支持模塊的并行開發(fā),減少軟件測試盒軟件維護的工作量。數(shù)據(jù)流圖的分解速度應保持較高。通常一個加工每次可分解為1020個子加工。( )概要設計也成總體設計,其過程由確定設計方案和結(jié)構(gòu)設計兩個階段組成。( )只有了解用戶、了解任務,才能設計出好的用戶界面。( )一般單元測試不可以并行進行。( )測試最終是為了證明程序無錯誤。( )通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡明算法描述表示系統(tǒng)的邏輯模型。 ( )數(shù)據(jù)流圖就是用來

30、刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù)。( )軟件過程設計不用遵行“自上而下,逐步求精”的原則和單入口單出口的結(jié)構(gòu)化設計思想。( )判定表不適合做通用的設計工具,不能表示順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。( )面向數(shù)據(jù)結(jié)構(gòu)設計方法一般都包括下列任務:確定數(shù)據(jù)結(jié)構(gòu)特征;用順序、選擇和重復三種基本形式表示數(shù)據(jù)等步驟。( )結(jié)構(gòu)化程序設計SP強調(diào)模塊采用自上而下逐步求精設計方法,單入口、單出口標準結(jié)構(gòu)。盒圖的主要優(yōu)點之一是強制設計人員采用結(jié)構(gòu)化設計方法。( )通常緊致性好的語言一致性就好。( )編程風格是在提高性能的前提下,有效地編排和組織程序以提高可讀性和可維護性。( )數(shù)據(jù)輸入的一般準則中包括保證信息顯示方式與數(shù)

31、據(jù)輸入方式的協(xié)調(diào)一致;允許用戶定做輸入格式等內(nèi)容。( )編碼時應盡可能使用全局變量。( )用戶本身的技能,個性上的差異,行為方式的不同,不會對人機界面使用造成影響。( )為提高可交互性一般應提高用戶對話、移動和思考的效率,即最大可能地減少擊鍵次數(shù),縮短鼠標移動的距離,避免使用戶產(chǎn)生無所適從的感覺。( )過程式程序設計語言的基本機制包括:消息傳送、數(shù)據(jù)類型的定義、多態(tài)、子程序、控制結(jié)構(gòu)。( )只要完成了軟件的測試工作,講軟件產(chǎn)品交給用戶,軟件生命周期就結(jié)束了。( )模塊的扇入是指該模塊被其他模塊調(diào)用的個數(shù),扇入應盡可能地小。 ( )系統(tǒng)測試是把軟件、硬件和環(huán)境連在一起的全面測試。( )軟件測試是

32、對軟件規(guī)格說明、軟件設計和編碼的最全面、最后的審查。( )軟件生命周期中,測試的工作量最大。( )軟件測試的目的是為了證明一個軟件的設計沒有錯誤,只有沒有任何錯誤的軟件才能使用。( )測試計劃、測試用例、出錯統(tǒng)計和有關(guān)的分析報告一般不用長期保存。( )軟件測試中,應該盡量窮盡所有的數(shù)據(jù),以便保證測試的質(zhì)量。( )黑盒測試法可有效的檢查模塊的內(nèi)部邏輯結(jié)構(gòu)的正確性。( )測試一般情況下是以白盒法為主黑盒法作為補充。( )文檔記錄軟件開發(fā)活動和階段成功,具有永久性,可供人或機器閱讀。( )結(jié)構(gòu)化維護用于待維護的軟件的配置和完整的維護。( )非結(jié)構(gòu)化維護用于軟件的配置中只有源代碼維護。( )完善性維護

33、時提高或完善軟件的性能。( )定軟件項目進度表的途徑之一是軟件開發(fā)小組根據(jù)提供軟件產(chǎn)品的最后期限從后往前安排時間。重構(gòu)工程也稱修復和改造工程,它是在逆向工程所獲信息的基礎上修改或重構(gòu)已有的系統(tǒng),產(chǎn)生系統(tǒng)的一個新版本。( )對象是屬性和相關(guān)操作的封裝。( )面向?qū)ο笾械睦^承是指子類能夠直接獲得父類已有的性質(zhì)和特征,而無需重新定義。( )面向?qū)ο笤O計是將面向?qū)ο蠓治鏊鶆?chuàng)建的分析模型進一步細化形成軟件設計模型的過程。( )完成測試工作后,為了縮短源程序的長度應刪去源程序中的注釋。( )難以控制開發(fā)進度和工作量估計困難時軟件危機的主要表現(xiàn)之一。( )系統(tǒng)響應時間是指當用戶執(zhí)行了某個控制動作后(例如,按

34、回車鍵,點鼠標等),系統(tǒng)做出反應的時間。( )在模塊化原理中,模塊的控制域應該在作用域之內(nèi)。( )需求分析主要內(nèi)容包括你:問題分析、需求描述、需求評審。( )原型是目標軟件系統(tǒng)的一個可操作模型,它實現(xiàn)了目標軟件系統(tǒng)的某些重要方面。( )即使測試過程沒有發(fā)現(xiàn)任何錯誤,也不能說明軟件沒有錯誤。( )編程風格是在提高性能的前提下,有效地編排和組織程序以提高可讀性和可維護性。( )采用信息隱藏原理指導模塊設計可以支持模塊的并行開發(fā),減少軟件測試盒軟件維護的工作量。( )程序的可靠性、可維護性和效率通常只由程序設計語言、源代碼的質(zhì)量和語言的實現(xiàn)機制決定的。模塊接口設計要簡單,以便降低復雜程度和冗余度。(

35、 )過程式程序設計語言的基本機制包括:消息傳送、數(shù)據(jù)類型的定義、多態(tài)、子程序、控制結(jié)構(gòu)。軟件=“完成特定功能的程序+數(shù)據(jù)結(jié)構(gòu)+文檔”。( )制定軟件項目進度表的途徑之一是軟件開發(fā)小組根據(jù)提供軟件產(chǎn)品的最后期限從后往前安排時間。在模塊化原理中,模塊的作用域應該在控制域內(nèi)。( )瀑布模型在實際的項目中嚴格順序執(zhí)行就基本可以成功。( )只要實行嚴格的產(chǎn)品控制就不用擔心用戶隨意改需求。( )確認測試任務是根據(jù)軟件需求規(guī)格說明書,測試軟件系統(tǒng)是否滿足用戶的需求。( )面向?qū)ο笾械睦^承是指子類能夠直接獲得父類已有的性質(zhì)和特征,但需要重新定義。( )需求分析階段所生成的文檔是進度計劃和可行性研究報告。( )

36、確認測試任務是根據(jù)軟件需求規(guī)格說明書,測試軟件系統(tǒng)是否滿足用戶的需求。( )軟件就是完成特定功能的程序的集合。( )制定軟件項目進度表的途徑之一是軟件項目開發(fā)組織根據(jù)項目和資源情況制定軟件項目開發(fā)的初步計劃和交付軟件產(chǎn)品的日期。( )在模塊化原理中,模塊的作用域應該在控制域內(nèi)。( )過程式程序設計語言的基本機制包括:消息傳遞、數(shù)據(jù)類型定義、多態(tài)、子程序、控制結(jié)構(gòu)。即使測試過程沒有發(fā)現(xiàn)任何錯誤,也不能說明軟件沒有錯誤。( )只要實行嚴格的產(chǎn)品控制就不用擔心用戶隨意改需求。( )只要完成了軟件測試工作,將軟件產(chǎn)品交給用戶,軟件生命周期就結(jié)束了。( )對象之間的通信僅通過消息傳遞機制。( )一個優(yōu)秀

37、的開發(fā)人員不必非要具有哦良好的書面和口頭表達能力,只要程序?qū)懙暮镁脹]問題了。( )重構(gòu)工程也稱修復和改造工程,它是在逆向工程所獲信息的基礎上修改或重構(gòu)已有的系統(tǒng),產(chǎn)生系統(tǒng)的一個新版本。( )一個優(yōu)秀的開發(fā)人員應具備素質(zhì)和能力不包括具有良好的書面和口頭表達能力。( )軟件維護的副作用是指由于維護或維護過程中其他一些不期望的行為引入的錯誤。( )耦合是影響軟件復雜度的重要因素。設計時應盡量使用內(nèi)容耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合,完全不用數(shù)據(jù)耦合。( )需求分析主要內(nèi)容包括:問題分析、需求描述、需求評審。( )面向?qū)ο蠓椒ㄖ械膶ο缶拖喈斢诮Y(jié)構(gòu)化方法中的模塊。( )如果大量測試沒有發(fā)現(xiàn)

38、任何錯誤,可以說明軟件沒有錯誤。( )編程風格是在提高性能的前提下,有效地編排和組織程序以提高可讀性和可維護性。( )數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。( )程序的可靠性、可維護性和效率通常只由程序設計語言、源代碼的質(zhì)量和語言的實現(xiàn)機制決定的。( )名詞解釋傳統(tǒng)方法學部分1.軟件工程 14.作用域 27.Beta測試2.軟件過程15.控制欲 28.回歸測試3.軟件生命周期16.扇出29.軟件維護4.軟件危機17.扇入30.改正性維護5.結(jié)構(gòu)化分析18模塊獨立性31.完善性維護6.實體-聯(lián)系圖19.結(jié)構(gòu)化程序設計32.適應性維護7.數(shù)據(jù)字典20.編碼風

39、格33.預防性維護8.結(jié)構(gòu)化設計21.白盒測試34.軟件可維護性9.模塊化22.黑盒測試35.軟件維護副作用10逐步求精23.單元測試36.可重用性11.信息隱蔽24.集成測試37.可靠性12.耦合25.系統(tǒng)測試38.可用性13.內(nèi)聚26.Alpha測試名詞解釋面向?qū)ο蠓椒▽W部分1.對象3.繼承5.消息2.類4.多態(tài)性填空題:1、程序 數(shù)據(jù) 文檔 2、傳統(tǒng)方法學 面向?qū)ο蠓椒▽W3、給定開發(fā)進度 滿足用戶需求4、軟件過程5、工具 過程6、原形模型7、面向數(shù)據(jù)流 面向?qū)ο?、系統(tǒng)流程圖9、軟件需求規(guī)格說明書 數(shù)據(jù)流圖和數(shù)據(jù)字典10、數(shù)據(jù)流 加工11、數(shù)據(jù)模型 數(shù)據(jù)對象12、軟件需求規(guī)格說明書13、

40、扇出 扇入14、變換型 事務型15、模塊接口16、外部結(jié)構(gòu) 內(nèi)部結(jié)構(gòu)17、模塊18、圖形類 語言類 表格類19、判定表 判定樹 PAD圖20、結(jié)構(gòu)化程序設計 可讀性21、順序 選擇 重復22、編程語言 編程風格23、文檔 數(shù)據(jù)24、發(fā)現(xiàn)并改正錯誤 白盒法 黑盒法 窮舉測試 測試用例25、高產(chǎn)的(或:高效的) 輸入數(shù)據(jù) 預期輸出結(jié)果26、驅(qū)動模塊 樁模塊27、詳細設計 執(zhí)行通路28、軟件要求規(guī)格說明書29、類的屬性 類的操作30、屬性和操作31、關(guān)聯(lián) 泛化32、依賴33、類 實例34 對象 功能判斷題:1-5 FFTTF 6-10 FTTTT 11-15 FFFTF 16-20 TFFFT21-

41、25 FTFTT 26-30 FFTTF 31-35 TTTTF 36-40 FTFFT41-45 FFFTT 46-50 FFFFF 51-55 FTTTT 56-60 TTTTT1-5 FTTFT 6-10 TTFTF1-5 TFTTT6-10 FFTFF1-5 TFTTF 6-10 TFFTF1-5 TFTFT 6-10 FFFFF名詞解釋傳統(tǒng)方法學部分軟件:能完成預定功能、性能,并對相應數(shù)據(jù)進行加工的程序和描述數(shù)據(jù)及其操作的文檔。軟件工程:是采用工程的概念、原理、技術(shù)和方法,并結(jié)合正確的管理技術(shù)和當前能夠得到的最先進的技術(shù)方法,經(jīng)濟高效地開發(fā)和維護軟件的一門工程學科。軟件過程:軟件過程

42、是指軟件開發(fā)人員為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。軟件生命周期:一個軟件從定義、開發(fā)、使用和維護直至最后被廢棄要經(jīng)歷的漫長時期。軟件危機:是指計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重的問題。結(jié)構(gòu)化分析:是面向數(shù)據(jù)流自頂向下逐步求精獲取的方法,適合于數(shù)據(jù)處理系統(tǒng)的需求分析。實體聯(lián)系圖:描述系統(tǒng)所有數(shù)據(jù)對象的組成和屬性及數(shù)據(jù)對象關(guān)系的圖形語言。數(shù)據(jù)字典:由數(shù)據(jù)條目組成,數(shù)據(jù)字典描述、組織和管理數(shù)據(jù)流圖中的數(shù)據(jù)流、加工、數(shù)據(jù)存儲等數(shù)據(jù)元素。結(jié)構(gòu)化設計:基于數(shù)據(jù)流的設計方法,將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu)。模塊化:是指解決一個復雜問題時自頂向下逐層把

43、軟件系統(tǒng)劃分成若干模塊的過程。逐步求精:是一種自頂向下的設計策略,是人類解決復雜問題時常用的一種技術(shù)。是為了能集中精力解決主要問題而盡量推遲考慮問題的細節(jié)。信息隱蔽:在設計中確定模塊時,使得一個模塊的所包含的信息,對于不需要這些信息的模塊來說,是不能訪問的。耦合:也稱模塊之間的聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中,各模塊間相互聯(lián)系緊密程度的度量。模塊之間的聯(lián)系越緊密,其耦合程度就越強,模塊的獨立性就越差。內(nèi)聚:也稱塊內(nèi)聯(lián)系,指模塊的功能強度的度量,是一個模塊內(nèi)部個元素之間彼此結(jié)合緊密程度的度量。作用域:是指受該模塊內(nèi)的一個判斷影響的所有模塊的集合??刂朴颍褐改K本身以及其所有直接或間接從屬于它的模塊集合。扇

44、出:指一個模塊直接調(diào)用模塊的數(shù)目。扇入:指有多少個上級模塊直接調(diào)用它。模塊獨立性:每個模塊獨立完成一個相對獨立的特定子功能,并且和其他模塊之間的關(guān)系很簡單。結(jié)構(gòu)化程序設計:如果一個程序代碼塊僅僅通過順序、選擇、循環(huán)這三個基本控制結(jié)構(gòu)進行連接,并且每個代碼塊只有一個入口和出口,則稱這個程序是結(jié)構(gòu)化程序設計。白盒測試:又稱結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序的測試,它依賴于對程序內(nèi)部結(jié)構(gòu)的嚴密檢驗,針對特定條件設計測試用例,對軟件的邏輯路徑進行測試。黑盒測試:又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試,它是一種從用戶觀點出發(fā)的測試。用這種方法進行測試時,把被測程序當做一個黑盒,不考慮內(nèi)部結(jié)構(gòu)和特性

45、,測試者只考慮程序輸入輸出和程序功能,根據(jù)需求規(guī)格說明書來設計測試用例,推斷測試結(jié)果的正確性。通常被用來驗證軟件功能的正確性和可操作性。單元測試:將每個模塊作為一個獨立的實體來測試,用詳細設計描述做指南,對重要的執(zhí)行通路進行測試,以便發(fā)現(xiàn)模塊內(nèi)部的錯誤,發(fā)現(xiàn)編碼和詳細設計的錯誤。集成測試:按照概要設計的要求組裝獨立模塊成為子系統(tǒng)或系統(tǒng),同時經(jīng)過測試來發(fā)現(xiàn)接口錯誤的一種系統(tǒng)化的技術(shù)。系統(tǒng)測試:是指將經(jīng)過集成測試的軟件作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設、支持軟件、數(shù)據(jù)和人員等元素結(jié)合在一起,對計算機系統(tǒng)進行一系列組裝測試和確認測試。測試/Alpha測試:由用戶在開發(fā)者場所進行,并

46、且在開發(fā)者對用戶的“指導”下進行的測試,開發(fā)者負責記錄發(fā)現(xiàn)的軟件錯誤和軟件在使用中遇到的問題。Beta測試/測試:由軟件的最終用戶們在一個或多個客戶場所進行。開發(fā)者通常不在測試的現(xiàn)場。測試是軟件在開發(fā)者不能控制的環(huán)境中的“真實”應用。用戶記錄在測試過程中遇到的一切問題,并把這些問題報告給開發(fā)者?;貧w測試:是指重新執(zhí)行已經(jīng)做過的測試,以保證對軟件的新變化沒有帶來非預期的副作用。軟件維護:軟件已經(jīng)交付使用之后,為了改正軟件運行錯誤或滿足新需要而修改軟件的過程改正性維護:對在測試階段未能發(fā)現(xiàn)的、在軟件投入使用后才逐漸暴露出來的錯誤的測試、診斷、定位、糾錯,以及驗證、修改的回歸測試過程,稱為改正性維護

47、。完善性維護:為了滿足用戶在使用過程中對軟件提出的新的功能和性能的要求,需要對原來的軟件的功能進行修改或擴充。適應性維護:是軟件適應外部新的軟硬件環(huán)境,或者數(shù)據(jù)環(huán)境發(fā)生的新變化,而進行修改軟件的過程。預防性維護:為了提高軟件未來的可維護性、可靠性,或為了給未來的改進奠定更好的基礎而修改軟件的過程。軟件可維護性:是指維護人員理解、改正、改動或改進這個軟件的難易程度上,它是軟件質(zhì)量的主要特征之一。軟件維護的副作用:是指由于修改程序而導致新的錯誤或者新增加一些不必要的活動??芍赜眯裕褐竿卉浖虿糠周浖唤?jīng)修改或稍加改動就可以多次重復使用的性質(zhì)??芍赜眯允擒浖こ套非蟮哪繕酥???煽啃裕菏侵赋绦蛟诮o

48、定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功運行的概率??捎眯裕菏侵赋绦蛟诮o定的時間點,按照規(guī)格說明書的規(guī)定成功運行的概率。名詞解釋面向?qū)ο蠓椒▽W部分對象:是客觀事物或概念的抽象表述,對象不僅能表示具體的實體,也能表示抽象的規(guī)劃、計劃或事件。繼承:子類能夠直接獲得父類已有的性質(zhì)和特征,不需要重新定義。類:是指一組具有相同屬性和運算操作對象的抽象,即一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作對象的集合。多態(tài)性:是指相同的操作或函數(shù)、過程作用于不同的對象上并獲得不同的結(jié)果。消息:是指對象之間在交互中所傳送的通信信息。屬性:實體或聯(lián)系所具有的性質(zhì),一般一個實體具有多個屬性。原型模型:是一個快速開發(fā)的過程,首先和用戶

49、溝通進行主要功能的需求分析和快速設計,然后建立一個原型,再請用戶進行評價和反饋。開發(fā)人員根據(jù)用戶的反饋進一步細化需求,改進原型系統(tǒng)的設計,如此反復直至用戶滿意。方法:是對象所能執(zhí)行的操作,也就是類中所定義的服務。實例:有某個特定的類所描述的一個具體對象簡答題匯總簡述軟件危機發(fā)生的原因??陀^原因:軟件與硬件產(chǎn)品不同,軟件是“開發(fā)的”而非“制造的”。其開發(fā)過程難以管理和控制,產(chǎn)品質(zhì)量也不好把握。軟件沒有“磨損”,但是它會不斷“退化”。軟件系統(tǒng)無法適應不斷變化的環(huán)境和功能需求。軟件都規(guī)模龐大,而程序的復雜性是隨其規(guī)模的擴大呈指數(shù)增加。主觀原因:對用戶要求沒有完整和準確的認識就匆忙編寫程序。對軟件的開

50、發(fā)過程的認識不準確。生命周期的每個階段都有特定的工作和特點,都是不可逾越的。只有上一階段工作完成,才能開始下一階段的工作。對軟件質(zhì)量的重視不夠是造成軟件開發(fā)成本激增的主要原因。注意軟件開發(fā)過程中錯誤的“放大效應”。輕視軟件維護將是一個重大的錯誤。軟件開發(fā)時期各階段的關(guān)鍵目標都是提高軟件的可維護性。簡述軟件工程的基本原理。(1)用分階段的生命周期計劃嚴格管理應該將軟件開發(fā)和維護的漫長生命周期劃分成若干個階段,并針對每個階段制定切實可行的計劃,然后嚴格按照計劃對軟件的開發(fā)和維護工作進行管理。(2)堅持進行階段評審錯誤發(fā)現(xiàn)的越早,改正錯誤所付出的代價就越小。因此,開發(fā)人員應該堅持在每個階段都進行嚴格

51、的評審,以便更早地發(fā)現(xiàn)和改正錯誤。(3)實行嚴格的產(chǎn)品控制在軟件開發(fā)的過程中不應隨意修改需求,當改變需求時,必須實行嚴格的產(chǎn)品控制以保持軟件各個配置成分的一致性。(4)采用現(xiàn)代程序設計技術(shù)采用先進的技術(shù)不僅可以提高軟件開發(fā)和維護的效率,而且還能有效地提高軟件產(chǎn)品的質(zhì)量。(5) 結(jié)果可以清楚地審查應規(guī)定每個開發(fā)階段的產(chǎn)品標準和文檔要求,使得到的結(jié)果可以清楚地審查。(6)開發(fā)小組成員少而精軟件開發(fā)小組人員要求素質(zhì)高,而人數(shù)不宜過多。隨著人數(shù)的增加,通信路徑也急劇增加。(7)承認不斷改進軟件工程實踐的必要性軟件開發(fā)和維護的過程也需要隨之改進。要主動采用最新的軟件技術(shù),而且還要不斷總結(jié)經(jīng)驗和教訓、收集

52、歷史數(shù)據(jù)幫助開發(fā)人員改進軟件工程實踐。簡述軟件危機的幾種常見表現(xiàn)形式。(1)對軟件開發(fā)成本和進度的估計常常很不準確。實際成本往往大大超過估計成本,或開發(fā)進度比計劃推遲幾個月或一年以上。這種現(xiàn)象極大地影響了軟件開發(fā)組織的信譽,也會引起用戶的強烈不滿。(2)軟件產(chǎn)品質(zhì)量較差,可靠性低。軟件開發(fā)過程中不能堅持嚴格的審查、復審和測試,使得軟件可靠性差、質(zhì)量問題多。(3)用戶對開發(fā)出來的軟件產(chǎn)品不滿意。開發(fā)人員與用戶之間的交流不充分,僅對用戶需求有了一個模糊的認識就匆忙開始寫程序。這樣的結(jié)果就是用戶對于所謂已經(jīng)完成的軟件很不滿意。(4)軟件常常是不可維護的。在實際項目中,很多程序的錯誤往往難以修改,而且

53、不能適應軟硬件環(huán)境的變化,也無法添加用戶需要的一些新功能。(5)軟件產(chǎn)品缺少應有的文檔資料。軟件=程序+數(shù)據(jù)+文檔。開發(fā)人員對文檔認識不足,不能保證在開發(fā)過程中文檔的完整性和準確性。缺少文檔資料會造成軟件開發(fā)、管理、審查、用戶交流、軟件維護等方面的諸多問題。(6)軟件產(chǎn)品的供不應求。軟件開發(fā)的生產(chǎn)率遠遠低于計算機硬件發(fā)展速度和用戶的需求,造成了軟件產(chǎn)品的供不應求。可將軟件生存周期劃分為哪3個過程和哪8個階段。3個過程: 軟件定義時期:確定軟件開發(fā)的總目標和工程的可行性;導出實現(xiàn)策略和系統(tǒng)必須完成的功能;進行成本效益的估算;制定開發(fā)計劃等 。軟件開發(fā)時期:具體設計和實現(xiàn)前一個時期定義的軟件。維護

54、時期:使軟件持久地滿足用戶的需要。8個階段:1. 問題定義2. 可行性研究3. 需求分析4. 總體設計5. 詳細設計6. 編碼和單元測試7. 綜合測試:通過各類測試和調(diào)試來完善軟件。8. 維護試述瀑布模型的優(yōu)點和缺點?/簡述瀑布模型及其特點瀑布模型的特點:(1)各階段之間有依賴性和嚴格的順序性。(2)推遲實現(xiàn)。(3)嚴格的階段質(zhì)保。(4)文檔驅(qū)動。瀑布模型的問題:(1)實際的項目很少順序嚴格(2)用戶往往難以給出具體、正確、完整的要求(3)開發(fā)人員“阻塞狀態(tài)”嚴重(4)產(chǎn)品出現(xiàn)晚-研究軟件工程項目可行性應從哪幾個方面分析?/簡述可行性研究的步驟。答:1.技術(shù)可行性對要開發(fā)項目的功能、性能和限制

55、條件進行分析,確定在現(xiàn)有的資源條件下,技術(shù)風險有多大,項目能否實現(xiàn)。2.經(jīng)濟可行性經(jīng)濟可行性研究的內(nèi)容是進行開發(fā)成本的估算以及進行效益的評估確定要開發(fā)的項目是否值得投資開發(fā)。3.操作可行性在這個應用范圍內(nèi),系統(tǒng)的操作方式是否行得通4.社會可行性社會可行性主要研究開發(fā)的項目是否存在任何侵犯、妨礙等責任問題,要開發(fā)項目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)和操作方式是否可行。需求分析中對系統(tǒng)的綜合要求包括哪些方面?/簡述軟件工程中需求分析的基本任務。(1)確定對系統(tǒng)的綜合要求a.功能性需求 b.非功能性需求 c.出錯處理需求,說明出錯時對系統(tǒng)對環(huán)境時如何響應。d.逆向需求系統(tǒng)不應

56、該做什么。e.將來可能提出的需求(2)分析系統(tǒng)的數(shù)據(jù)要求:是軟件需求分析的一個重要任務,復雜數(shù)據(jù)由許多基本數(shù)據(jù)元素組成,數(shù)據(jù)結(jié)構(gòu)表示數(shù)據(jù)元素之間的邏輯關(guān)系。(3)建立軟件的邏輯模型,修正系統(tǒng)開發(fā)計劃。對系統(tǒng)的綜合要求+對數(shù)據(jù)的要求=系統(tǒng)邏輯模型描述方法:數(shù)據(jù)流圖、數(shù)據(jù)字典、實體-聯(lián)系圖、和主要的處理算法。(4)編寫軟件需求規(guī)格說明書(5)需求分析評審:驗證一致性、完整性、現(xiàn)實性、有效性簡述總體設計過程應該遵循的基本原理。應遵循的基本原理有:1)模塊化,為解決一個復雜問題時,自頂向下逐層把軟件系統(tǒng)規(guī)劃分成若干模塊的過程;2)抽象,抽出事物質(zhì)特征而不考慮其他細節(jié);3)逐步求精,為了能集中精力解決主

57、要問題而盡力推遲對問題細節(jié)的考慮;4)信息隱蔽,在設計中確定模塊時,使得一個模塊內(nèi)部包含的信息,對于不需要這些信息的其他模塊來說,是不能訪問的;5)局部化,把一些關(guān)系密切的軟件元素,物理的改得彼此靠近;6)模塊獨立性,指每個模塊只完成系統(tǒng)要求的獨立子功能,并且與其他模塊的聯(lián)系最少且接口簡單。什么是模塊化?模塊化的根據(jù)是什么?采用模塊化原理的優(yōu)點是什么?模塊化:是指解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。每個模塊完成一個特定的子功能,所有模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)要求的功能。依據(jù):不但可以降低復雜性,還可以減少開發(fā)工作量,從而降低開發(fā)成本,提高軟件效

58、率。優(yōu)點:采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設計也容易閱讀和理解。模塊化也有助于提高軟件的可靠性。簡述采用信息隱藏原理指導模塊設計優(yōu)點。a.通過信息隱蔽,可以定義和實施對模塊的過程細節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。b.信息隱蔽為軟件系統(tǒng)的修改、測試及以后的維護都帶來好處。c.防止錯誤的擴大傳播。用SD方法將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu),簡述其過程。1. 復查并精化數(shù)據(jù)流圖2. 確定數(shù)據(jù)流圖類型3. 確定數(shù)據(jù)流的邊界4. 完成“第一級分解”5. 完成“第二級分解”6. 優(yōu)化簡述軟件結(jié)構(gòu)設計啟發(fā)式規(guī)則。1. 模塊獨立性準則:通過模塊分解或合并,力求做到降低耦合提高內(nèi)聚,保持模塊相對獨立性。2. 模塊

59、的作用域應該在控制域內(nèi)3. 軟件結(jié)構(gòu)的形態(tài)特征準則軟件結(jié)構(gòu)從形態(tài)上看,應是頂層扇出數(shù)較高一些,中間層扇出數(shù)較低一些,底層扇入數(shù)較高一些。4模塊大小準則在考慮模塊的獨立性時,為了增加可理解性,模塊的大小最好在50-150條語句左右,可以用1-2頁紙打印,便于人們閱讀與研究。5模塊的接口準則(1)模塊接口設計要簡單,以降低復雜程度和冗余度。(2)設計功能可預測并能得到驗證的模塊。(3)適當劃分模塊規(guī)模,以保持其獨立性。試用程序流程圖舉例描述結(jié)構(gòu)化程序設計中的三種基本控制結(jié)構(gòu)。答案:P54簡述軟件維護的困難主要體現(xiàn)在哪幾個方面? 理解別人的程序非常困難 開發(fā)文檔不合格、缺少或與程序不一致 等待開發(fā)人

60、員對軟件說明 設計時沒考慮未來的修改維護 維護經(jīng)常受挫已知某學校教務管理系統(tǒng)中規(guī)定:每個教師(教工號,姓名,性別,職稱,職務)可以教多門不同的課程(課程號,課名,學時,學分),每門課程只能由一個老師來教,每個學生(學號,姓名,性別,系,年級)可以學習多門課程并取得成績。每門課程可以有多個學生學習,試根據(jù)已知條件,畫出對應的實體聯(lián)系圖(E-R圖)試述軟件測試過程。單元測試保證模塊正確工作,多采用白盒測試;綜合測試保證模塊集成到一起后正常工作,多為黑盒測試,并鋪以白盒技術(shù);系統(tǒng)測試保證軟件與其他系統(tǒng)元素合成后達到系統(tǒng)各項性能要求;確認測試保證軟件需求的滿足,采用黑盒測試。黑盒測試完全不考慮程序內(nèi)部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論