伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 國內認證 > 網絡工程師考點精要--第3章 系統開發和運行基礎知識

網絡工程師考點精要--第3章 系統開發和運行基礎知識

2014-07-28 09:01:02 | 來源:中培企業IT培訓網
【命題要點】•系統分析與設計方案:需求分析與管理、結構化分析與設計、面向對象分析與設計、模塊設計、I/O設計、人機界面設計。•軟件測試評審方法:測試方法(白盒測試、黑盒測試)、測試步驟(單元測試、集成測試、確認測試、系統測試、回歸測試)、評審方法、測試設計和管理(注入故障、系統測試)。•項目管理基礎知識:制定項目計劃,質量控制計劃、管理和評估,過程管理(PERT圖、甘特圖、工作分解結構、進度控制、關鍵路徑),配置管理,人員計劃和管理,文檔管理 (文檔規范、變更管理),成本組織和風險管理。•系統維護:維護的類型(完善性維護、糾錯性維護、適應性維護、預防性維護),維護過 程管理,硬件維護、軟件維護。提示:•通過最近8次考試的分析可知,系統分析與設計、項目管理是重點考核的內容,考題基本都出自這兩個考點。結構化分析與設計、UML、項目過程管理、質量控制等內容是重中之重。•自2008年起,較少考查軟件開發模型,考核重點轉移到項目管理上。【考點一】需求分析和設計方法一、軟件工程概述1.軟件危機(1)主要表現:軟件需求的增長得不到滿足;軟件開發成本和進度無法控制;軟件質量難以保證;軟件不可維護或維護程度非常低;軟件成本不斷提高;軟件開發生產效率的提高趕不上硬件的發展和應用需求的增長。總之,可以將軟件危機歸結為成本、質量和生產率等問題。(2)產生原因:一方面是由于軟件本身存在著復雜性;另一方面與軟件開發所使用的方法和技術相關。2、軟件工程(1)為了消除軟件危機,通過認真研究解決軟件危機的方法,人們認識到軟件工程是使計算 機軟件走向科學的途徑,逐漸形成了軟件工程的概念,并開辟工程學的新興領域,即軟件工程學。(2)軟件工程的3個要素:·方法:完成軟件工程項目的技術手段。·工具:支持軟件的開發、管理、文檔生成。·過程:支持軟件開發的各個環節的控制、管理。3.軟件生命周期軟件生命周期:軟件產品從考慮其概念開始到該軟件產品交付使用,直至最終退役為止的整個過程。(1)計劃階段:確定待開發系統的總體目標和范圍,研究系統的可行性和可能的解決方案,對資源、成本及進度進行合理的估算。軟件計劃的主要內容包括所采用的軟件生命周期模型、開發員的組織、系統解決方案、管理的目標與級別、所用的技術與工具,以及開發的進度、預算和資 源分配。(2)分析階段:分析、整理和提煉所收集到的用戶需求,建立完整的分析模型,將其編寫成軟件需求規格說明書和初步的用戶手冊。通過評審需求規格說明書,確保對用戶需求達到共同的理解與認識。軟件需求規格說明書明確地描述了軟件的功能,列出軟件必須滿足的所有約束條件,并定義軟件的輸入和輸出接口。(3)設計階段:決定軟件怎么做,設計人員依據軟件需求規格說明書,確定軟件的體系結構,進而確定每個模塊的實現算法、數據結構和接口等,編寫設計說明書,并組織進行設計評審。(4)實現階段:將所設計的各個模塊編寫成計算機可接受的程序代碼與相關的文檔,也就是實現源程序和合適的注釋(5)測試階段:在設計測試用例的基礎上,測試軟件的各個組成模塊。然后,將各個模塊集成起來,測試整個產品的功能和性能是否滿足軟件需求規格說明書。(6)運行維護階段:是軟件過程的一個組成部分,應當在軟件的設計和實現階段充分考備軟件的可維護性。維護階段需要測試是否正確地實現了所要求的修改,并保證在產品的修改過程中,沒有做其他無關的改動。4、軟件開發模型(1)瀑布模型:將軟件生命周期劃分為制訂計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護等6個基本活動,并且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。其優點是:可以規范化過程,有利于評審。缺點在于過于理想,缺乏靈活性,容易產生需求偏差。(2)快速原型模型:籌一步是緣造一個快速原型,實現客戶或未來的用戶與系統的交互,用戶或客戶對原型進行評價,進一步細化待開發軟件的需求。通過逐步調整原型喪其滿足客戶的要求,開發人員可以確定客戶的真正需求是什么第二步則在第一步的基礎上開發客戶滿意的軟件產品。快速原型方法可以克服瀑布模型的缺點,減少由于軟件需求不明確帶來的開發風險,具有顯著的效果。(3)演化模型:也是一種原型化開發,但與快速原型模型不同的是,快速原型模型在獲取真實需求后,將拋棄原型。而演化模型則不然,它將在快速開發一個原型的基礎上,逐步演化成最終的軟件。(4)增量模型:軟件被作為一系列的增量構件來設計、實現、集成和測試,每一個構件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構成。增量模型在各個階段并不交付一個可運行的完整產品,而是交付滿足客戶需求的一個子集的可運行產品。整個產品被分解成若干個構件,開發人員逐個構件地交付產品,這樣做的好處是軟件開發可以較好地適應變化,客戶可以不斷地看 到所開發的軟件,從而降低開發風險。也就是說增量模型有利于快速開發軟件。(5)螺旋模型:綜合了瀑布模型和演化模型的優點,還增加了風險分析,特別適合于大型復雜的系統。采用螺旋模型時,軟件開發沿著螺線自內向外旋轉,每轉一圈都要對風險進行識別和分析,螺旋線第一圈的開始點可能是一個概念項目。從第二圈開始,一個新產品開發項目開始了,新產品的演化沿著螺旋線進行若干次迭代,一直運轉到軟件生命期結束。(6)噴泉模型:對軟件復用和生存期中多項開發活動的集成提供了支持,主要支持面向對象的開發方法。“噴泉”一詞本身體現了迭代和無間隙特性。系統某個部分常常重復工作多次,相關功能在每次迭代中隨之加入演進的系統。所謂無間隙,是指在開發活動——分析、設計和編碼之間不存在明顯的邊界。5、軟件開發方法(1)結構化軟件開發方法(SASD):也稱為面向功能的軟件開發方法或面向數據流的軟件開發方法。首先用結構化分析(SA)方法對軟件進行需求分析,然后用結構化設計(SD)方法進行總體設計,最后是結構化編程(SP)。它給出了兩類典型的軟件結構(變換型和事務型),使軟件開發的成功率大大提高。結構化終件開發方法是采用結構化技術來完成軟件的開發的各項任務,它把軟件生命周期劃分成若干個階段,依次地完成每個階段的任務,它與瀑布模型有很好的結合度,是與其最相填應的軟件開發方法。(2)面向數據結構的軟件開發方法:從目標系統的輸入、輸出數據結構入手,導出程序框架結構再補充其他細節,從而可得到完整的程序結構圖。它有Jackson方法和Warnier方法兩種。(3)面向對象的軟件開發方法:隨著OOP(面向對象編程)向OOD (面向對象設計)和00A(面向對象分析)的發展,最終形成面向對象的軟件開發方法OMT (Object Modelling Technique)。這是一種自底向上和自頂向下相結合的方法,而且它以對象建模為基礎,從而不僅考慮了輸入、輸出數據結構,實際上也包含了所有對象的數據結構。(4)基于構件化的開發方法:用預先建立的構件和模板,像“搭積木”一樣進行建造。二、需求分析(1)任務:①確定軟件系統的功能需求和非功能需求;②分析軟件系統的數據要求;③導出系統的邏輯模型;④修正項目開發計劃;⑤如有必要,可以開發一個原型。(2)主要工作:①需求獲取——確定對目標系統的各方面需求,涉及的主要任務是建立獲取用戶需求的方法框架,并支持和監控需求獲取的過程;②需求分析和綜合——對問題進行分析,然后在此基礎上整合出解決方案;③編寫需求規格說明書——對已確定的需求進行文檔化描述,該文檔通常稱“軟件需求規格說明書”;④需求評審——評審需求分析的正確性、完整性和清晰性。(3)軟件需求規格說明書:需求分析階段的最后成果,是軟件開發的重要文檔之一。其作用有三:①便于用戶、開發人員進行理解和交流;②反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據;③作為確認測試和驗收的依據。軟件需求規格說明書的內容主要包括概述、數據描述、功能描述、性能描述、參考文獻、附錄等。 三、結構化分析方法結構化分析方法(StructuredAnalysis, SA)是面向數據流進療需求分析的方法釆用自觀向下、逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。SA方法的分析結果由以下幾部分組成:一套分層的數據流圖、一本數據詞典、一組小說明。1數據流圖數據流圖(Data Flow Diagram, DFD)用來描述數據流從輸入到輸出的變換流程。.它以圖形 的方式描繪數據在系統中流動和處理的過程,_它只反映系統必須完成的邏輯功能,所以是一種功能模型。DFD的基本元素如圖3-1所示。 (1)數據流:由一組固定成分的數據組成,表示數據的流向。(2)加工:描述了輸入數據流到輸出數據流之間的變換,也就是輸入數據流經過什么處理后變成了輸出數據流。(3)數據存儲:用來表示暫時存儲的數據,每個數據存儲都有一個名字。(4)外部實體:是指存在于軟件系統之外的人員或組織。2、數據字典數據流圖僅描述了系統的“分解”,但沒有對圖中各成分進行說明。數據詞典就是用來定義數據流圖中的各個成分的含義的。數據字典有4類條目,包括數據流、數據項、數據存儲和基本加工。3、加工邏輯的描述用來說明DFD中的數據加工的加工細節,表達“做什么”,而不是“怎樣做”。描述工具有結構化語言、判定表和判定樹。四、軟件設計從技術角度上,軟件設計分成體系結構設計、數據設計、接口設計、過程設計4方面的工作。從管理角度上,軟件設計分為概要設計和詳細設計兩個階段。1、軟件設計的基本原理(1)模塊化:將一個待開發的軟件分解成若干個小的簡單的部分——模塊,每個模塊可獨立地開發、測試,最后組裝成完整的程序。這是一種復雜問題“分而治之”的原則,模塊化的目的是使程序的結構清晰,容易閱讀,容易理解,容易測試,容易修改。(2)抽象化:是一種設計技術,抽出事物本質的共同特性而暫不考慮它的細節。(3)信息隱蔽:將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,定義每一個模塊時盡可能少地顯露其內部的處理,可以提高軟件的可修改性、可測試性和可移植性。(4)模塊獨立:每個模塊完成一個相對獨立的特定子功能,并且與其他模塊之間的聯系簡單。衡量度量標準有兩個:模塊間的耦合和模塊的內聚度。模塊獨立性強必須做到高內聚低耦合。•耦合:模塊之間聯系的緊密程度,耦合度越高則模塊的獨立性越差。耦合度從低到高的次序依次是:非直接搞合、數據耦合、標記搞合、控制耦合、外部耦合、公共耦合、內容搞合。•內聚:指模塊內部各元素之間聯系的緊密程度,內聚度越低模塊的獨立性越差,內聚度從低到高依次是:偶然內聚、邏輯內聚、瞬時內聚、過程內聚、通信內聚、順序內聚、功能內聚。2、軟件結構設計的優化原則•改進軟件結構提高模塊獨立性,提高模塊的內聚度,降低模塊間的耦合度;•模塊規則不應過大,最好編寫在一頁紙內(不超過60行語句),模塊規模過小,接口復雜;•深度、寬度、扇出和扇入應適中;•模塊的作用域應該在控制域之內;•力爭降低模塊接口的復雜程度;•設計單入口、單出口的模塊;•模塊功能應該可以預測。3、結構化設計方法結構化設計方法(SD)是一種面向數據流的設計方法,它可以與SA方法鏈接。(1)信息流的類型在需求分析階段,用SA方法產生了數據流圖。面向數據流的設計能方便地將DFD轉換成程序結構圖。DFD中從系統的輸入數據流到系統的輸出數據流的一連串連續變換形成了一條信息流。 DFD的信息流大體上可以分為兩種類型,一種是變換流,另一種是事務流。•變換流:信息沿輸入通路進入系統,同時由外部形式變換成內部形式,進入系統的信息通過變換中心,經加工處理以后再沿輸出通路變換成外部形式,離開系統。•事務流:當信息沿輸入通路到達一個處理,這個處理根據輸入數據的類型從若干個動作序列中選擇出一個來執行。在一個事務流中,事務中心接收數據,分析每個事務以確定它的類型,根據事務類型選取一條活動通路。(2)設計過程①精化DFD;②確定DFD類型;③分解上層模塊,設計中下層模塊結構;④根據優化準則對軟件結構求精;⑤描述模塊功能、接口及全局數據結構;⑥復查,如果有錯,轉向②修改完善,否則進入詳細設計階段。4、軟件詳細設計詳細設計的任務是為軟件結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節。(1)結構化程序設計方法結構化程序設計的基本要點是: .•釆用自頂向下、逐步求精的程序設計方法;•使用順序、選擇、重復三種基本控制結構構造程序;•主程序員組的組織形式。(2)處理過程設計處理過程設計的關鍵是用一種合適的表達方法來描述每個模塊的執行過程。這種表示方法應該簡明、精確,并因此能直接導出用編程語言表示的程序。程序流程圖:流程圖即程序框圖,是歷史最久、流行最廣的一種圖形表示方法。程序流程 圖包括3種基本成分:加工步驟,用方框表示;邏輯條件,用菱形表示;控制流,用箭頭 表示。圖形表示的優點是直觀、形象、容易理解,缺點是表示控制的箭頭過于靈活,以及 只描述執行過程而不能描述有關數據。盒圖(NS圖): 在NS圖中,每個處理步驟用一個盒子表示,盒子可以嵌套。盒子只能從上頭 進入,從下頭走出,除此之外別無其他出入口,所以盒圖限制了隨意的控制轉移,保證了程 序的良好結構。形式語言:用來描述模塊具體算法的非正式而比較靈活的語言。形式語言的優點是接近自然 語言,所以易于理解;其次v它可以作為注釋嵌套在程序中成為內部文檔,提高程序的自我 描述性;第三,因為是語言形式,易于被計算機處理,可用行編輯程序或字處理系統對形式 語言進行編輯修改。決策樹:決策樹是一種圖形工具,適合于描述加工中具有多個策略、每個策略和若干條件有關的邏輯功。決策表:決策表是一種圖形工具,呈表形。決策表將比較復雜的決策問題簡潔地描述出來。(3)面向數據結構設計: Jackson方法面向數據結構設計是以數據結構作為設計的基®K,它根據輸入輸出數據結構導出程序的結構,適用于規模不大的數據處理系統,Jackson方法是一種典型的面向數據結構的設計方法。Jackson圖如圖3-2所示。 (4)用戶界面設計用戶界面設計是系統與用戶之間的接口,也是控制和選擇信息輸入輸出的主要途徑。用戶界 面設計應堅持友好、簡便、實用、易于操作的原則。界面設計包括菜單方式、會話方式、操作提示方式,以及操作權限管理方式等。五、面向對象分析和設計1.面向對象設計基本概念(1)對象:一組屬性以及這組屬性上的專用操作的封裝體,通常由對象名、屬性和操作這3個部分組成。屬性表示該對象的狀態,用戶只能看見對象封裝界面上的信息,對象的內部實現對用戶是隱蔽的。封裝目的是使對象的定義和實現分開。(2)類:一組具有相同屬性和相同操作的對象的集合。一個類中的每個對象都是這個類的一個實例(Instance)。(3)繼承:在某個類的層次關聯中不同的類共享屬性和操作的一種機制。一個父類可以有多個子類,這些子類都是父類的特例。父類描述了這些子類的公共屬性的操作,子類中還可以定義它自己的屬性和操作。一個子類只有唯一的一個父類,這種繼承稱為單一繼承。一個子類有多個父類,可以從多個父類中繼承特性,這種繼承稱為多重繼承。(4)消息:對象間通信的手段、一個對象通過向另一對象發送消息來請求其服務。消息通常包括接收對象名、調用的操作名和適當的參數(如有必要)。消息只告訴接收對象需要完成什么操作,但并不能指示接收者怎樣完成操作。.消息完全由接收者解釋,接收者獨立決定采用什么方法來完成所需的操作。(5)多態性:同一個操作作用不同的對象可以有不同的解釋,產生不同的執行結果。(6)繼承性是面向對象程序設計語言不同于其他語言的主要特點,是否建立了豐富的類庫是衡量一個面向對象程序設計語言成熟與否的重要標志之一。(7)在面向對象的軟件工程中,一個組件(component)包含了一些協作的類的集合。2、面向對象分析與設計的基本概念面向對象方法的基本思想是從現實世界中客觀存在的事物出發來構造軟件系統。面向對象分析(Object-Oriented Analysis, OOA)的目標是建立待開發軟件系統的模型面向對象設計(Object-Oriented Design, OOD)的目標是定義系統構造藍圖,設計分析模型和實現相應源代碼,在目標代碼環境中這種源代碼可被執行。統一建模語言(UML)是面向對象軟件的標準化建模語言。UML由3個要素構成:UML的基本構造塊、支配這些構造塊如何放置在一起的規則和運用于整個語言的一些公共機制。UML的詞匯表包含3種構造塊:事物、關系和圖。事物是對模型中最具代表性的成分的抽象,關系把事物結合在一起,圖聚集了相關的事物。•事物:包括結構事物、行為事物、分組事物和注釋事物。•關系:.包括依賴、.關取、泛化和實現。•圖:包每類圖、對象圖、用例圖、序列圖、協作圖、狀態圖、活動圖、構件圖和部署圖。.【試題3-1】 2012年5月真題5數據流圖(DFD)對系統的功能和功能之間的數據流進行建模,其中頂層數據流圖描述了系統的(5)。A處理過程B.輸入與輸出C.數據存儲D.數據實體解析:數據流圖用來描述數據流從輸入到輸出的變換流程。【答案:(5) B】【試題3-2】 2012年5月真題6以下關于類繼承的說法中,錯誤的是(6)。A. 通過類繼承,在程序中可以復用基類的代碼B. 在繼承類中可以增加新代碼C. 在繼承類中不能定義與被繼承類(基類)中的方法同名的方法D. 在繼承類中可以覆蓋被繼承類(基類)中的方法解折:繼承類中可以定義與碁類中方法同名的方法。【答案: :(6) C】【試題3-3】 2012年5月真題8軟件開發的增景模型(8)。A.最適用于需求被清晰定義的情況 B.是一種能夠快速構造可運行產品的好方法C.最適合于大規模團隊開發的項目 D.是一種不適用于商業產品的創新模型解析:增量模型有利于快速開發軟件。【答案:(8) B】【試題3-4】 2012年5月真題9假設某軟件公司與客戶簽訂合同開發一個軟件系統,系統的功能有較清晰的定義,且客戶對交付時間有 嚴格要求,則該系統的開發最適宜采用(9)。A.瀑布模型B.原型模型C. V-模型D.螺旋模型解析:瀑布模型將軟件生命周期劃分為制訂計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護等6個基本活動,并且規定了它們自上而下.、相互銜接的固定次序,如同瀑布流水,逐級下落。本題對交付時間有嚴格要求,適合用瀑布模型。【答案:.(9)八】【試題3-5】 2012年11月真題5在軟件設計階段,劃分模塊的原則是:一個模塊的(5)。A.作用范圍應該在其控制范圍之內 B.控制范圍應該在作用范圍之內C.作用范圍與控制范圍互不包含 D.作用范圍與控制范圍不受任何限制解析:劃分模塊時,一個模塊的控制范圍應在其作用范圍之內。【答案:(5) A】【試題3-6】 2011年5月真題6模塊A直接訪問模塊B的內部數據,則模塊A和模塊B的耦合類型為 (6)。A.數據耦合B.標記耦合C.公共耦合D.內容耦合_解析:一般可將耦合度從弱到強分為以下7級:①非直接耦合:指兩個模塊中任一個都不依賴對方獨立工作。這類耦合度最低。②數據耦合:指兩個模塊間只是通過參數表傳遞簡單數據。③特征耦合:指兩個模塊都與同一個數據結構有關。④控制耦合:指兩個模塊間傳遞的信息中含有控制信息。⑤外部耦合:指若干模塊都與同一個外部環境關聯,例如I/O處理使所有I/O模塊與特定的設備、格式和 通信協議相關聯。⑥公共耦合:指兩個或多個模塊通過引用一個公共區的數據而發生相互作用。⑦內容耦合:最高耦合度的是內容耦合。出現內容耦合的情形包括:一個模塊使用另一模塊內部的控制 和控制信息;一個模塊直接轉移到另一模塊內部等。一般說來,盡量使用數據耦合,少用控制耦合,限制外部耦合,完全不用內容耦合。【答案:(6)D】【試題3-7】 2011年11月真題6利用結構化分析模型進行接口設計時,應以(6)為依據。A.數據流圖 B.實體一關系圖C.數據字典 D.狀態一遷移圖解析:數據流圖用來描述數據流從輸入到輸出的變換流程。它以圖形的方式描繪數據在系統中流動和處理的過程,它只反映系統必須完成的邏輯功能,所以是一種功能模型。數據流圖僅描述了系統的“分解”,但沒有對圖中各成分進行說明。數據詞典就是用來定義數據流圖中 的各個成分的含義的。數據字典有4類條目,包括數據流、數據項、數據存儲和基本加工。實體一關系(E-R)圖在軟件設計和數據庫設計中經常用到,用于描述數據對象、對象的屬性和對象之 間的關系。狀態一遷移圖通過描述系統的狀態以及引起變化的事件來描述系統的行為,并指明特定事件的結構和執 行的動作。此題中要進行接口設計,顯然數據流圖更為合適。【答案:(6) A】【試題3-8】 2011年11月真題5確定軟件的模塊劃分及模塊之間的調用關系是(5)階段的任務。A.需求分析 B.概要設計C.詳細設計 D.編碼解析:軟件的生命周期可以分為4個活動時期:軟件分析、軟件設計、編碼與測試、運行與維護。其中軟件設計又可以分為概要設計和詳細設計兩個階段。概要設計是設計軟件的結構、組成的模塊、模塊的層 次結構、模塊的調用關系以及每個模塊的功能。而詳細設計就是為每個模塊完成的功能進行具體描述,將功 能描述轉換為精確的、結構化的過程描述。【答案:(5) B】【試題3-9】 2010年5月真題7軟件設計時需要遵循抽象、模塊化、信息隱蔽和模塊獨立原則。在劃分軟件系統模塊時,應盡量做到(7)。A.高內聚高耦合 B.高內聚低耦合C.低內聚高耦合 D.低內聚低耦合解析高內聚強調功能實現盡量在模塊內部完成;低耦合則是盡量降低模塊之間的聯系,減少彼此之間的相互影響。這二者的結合是面向過程編程和系統設計的重要特點。【答案:(7) B】【試題3-10】2010年5月真題8程序的三種基本控制結構是(8)。A.過程、子程序和分程序 B.順序、選擇和重復C.遞歸、堆棧和隊列 D.調用、返回和跳轉解析:程序的三種基本控制結構是順序、選擇和重復。【答案:(8) B】【試題3-11】 2010年5月真題9棧是一種按“后進先出”原則進行插入和刪除操作的數據結構,因此(9)必須用棧。A.函數或過程進行遞歸調用及返回處理 B.將一個元素序列進行逆置C.鏈表節點的申請和釋放 D.可執行程序的裝入和卸載解析:棧是一種后進先出的數據結構,對于函數的遞歸調用與返回,一定是后被調用執行的先返回。【答案:(9) A】【試題3-12】 2010年11月真題6某項目組擬開發一個大規模系統,且具備了相關領域及類似規模系統的開發經驗。下列過程模型中, (6) 最適合開發此項目。A.原型模型B.瀑布模型C.V模型D.螺旋模型解析:在瀑布模型中,軟件開發的各項活動嚴格按照線性方式進行,當前活動接受上一項活動的工作結果,實施完成所需的工作內容。當前活動的工作結果需要進行驗證,如果驗證通,則該結果作為下一項 活動的輸入,繼續進行下一項活動,否則返回修改。瀑布模型要求每個階段都要仔細驗證。本題中項目組具 備了相關領域及類似規模系統的開發經驗,掌握類似項目的開發流程,因此采用瀑布模型最適合。快速原型模型的第一步是建造一個快速原型,實現客戶或未來的用戶與系統的交互,用戶或客戶對原型 進行評價,進一步細化待開發軟件的需求。快速原型通過逐步調整原型使其滿足客戶的要求,開發人員可以 確定客戶的真正需求是什么;第二步則在第一步的基礎上開發客戶滿意的軟件產品。V模型是在快速應用開發模型基礎上演變而來,由于將整個開發過程構造成一個V字形而得名。V模型強 調軟件開發的協作和速度,將軟件實現和驗證有機地結合起來,在保證較高的軟件質量情況下縮短開發周期。螺旋模型將瀑布模型和快速原型模型結合起來,強調了其他模型所忽視的風險分析,特別適合于大型復 雜的系統。螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,并做出相關反應是不容易的,因此,這種模型往往適應于內部的大規模軟件開發。【答案:(6) B】【考點二】項目管理基礎知識一、項目管理和項目計劃的制訂(1)項目管理:核心內容就是在成本、質量、進度間的平衡。它包括POIM四方面:Plan計劃、 Organize組織、Implement實現、Measurement度量。主要活動包括:①啟動——確定目標和范圍,考慮解決方案,根據方案進行社會、經濟、技術可行性分析、成本估算、任務分解、進度安排等;②度量——把握過程的實際情況和產品質量;③估算-人力、時間、成本,要建立歷史項目資料庫;④風險分析——按發生可能性和影響性排序,制定解決方案和預防措施;⑤進度安排——建立在工作任務分解WBS土,對時間、人員、設備分配,用甘特圖、PERT圖等Project工具;⑥追蹤控制——根據實際進度情況進行有效調整,并處理需求變更引起的項目計劃的變更。(2)項目計劃的制訂:預測未來、確定任務、估計可能碰到的問題并提出完成任務和解決問題的有效方案、方針、措施和手段以及所必需的各種活動和工作成果的過程。項目計劃的主要內容包括:①估算所需要的人力(通常以人月為單位)、項目持續時間(以年份或月份為單位)、成本(以元為單位);②作出進度安,分配資源,建立項目組織及任用人員(包括人員的地位、作用、職責、規章制度等),根據規模和工作量估算分配任務;③進行風險分析,包括風險識別、風險估計、風險優化、風險駕馭策略、風險解決和風險監督,這些步驟貫穿在軟件工程過程中;④制訂質量管理指標;⑤編制預算和成本;⑥準客環境和基礎設施等。二、質量計劃、管理和評估1.軟件質量度量模型目前有多種軟件質量模型。(1)ISCWEC 9126軟件質量模型。該模型由3個層次組成:.第一層是質量特性,第二層是質量子特性,第三層是度量指標。該模型的質量特性和質量子特性如表3-2所示。 表3-2軟件質量特性和質量子特性質量特性描述子特性子特性描述功能性與一組功能及其指定的 性質有關的一組屬性。 這里的功能是指滿足明 確或隱含的需求的那些 功能適應性與規定任務能否提供一組功能以及這組功能的適合程度有關的軟件屬性準確性與能否得到正確或相符的結果或效果有關的軟件屬性互用性與其他指定系統進行交互的能力有關的軟件屬性依從性使軟件遵循有關的標準、約定、法規及類似規定的軟件屬性安全性與防止對程序及數據的非授權的故意或意外訪問 的能力有關的軟件屬性可靠性與在規定的一段時間和 條件下,軟件維持其性 能水平的能力有關的一 組屬性成熟性與由軟件故障引起失效的頻度有關的軟件屬性容錯性與在軟件故障或違反指定接口的情況下,維持規 定的性能水平的能力有關的軟件屬性易恢復性與在失效發生后,重建其性能水平并恢復直接受 影響數據的能力以及為達此目的所需的時間和能 力有關的軟件屬性可用性與一組規定或潛在的用 戶為使用軟件所需作的 努力和對這樣的使用所 作的評價有關的一組屬 性易理解性與用戶為認識邏輯概念及其應用范圍所花的努力有關的軟件屬性易學習性與用戶為學習軟件應用所花的努力有關的軟件屬性易操作性與用戶為操作和運行控制所花努力有關的軟件屬 性效率與在規定的條件下,軟 件的性能水平與所使用 資源最之間關系有關的 一組屬性時間特性與軟件執行其功能時響應和處理時間以及吞吐量有關的軟件屬性資源特性與在軟件執行其功能時所使用的資源數量及其使用時間有關的軟件屬性可維護性與進行指定的修改所需 的努力宥關的一組屬性易分析性與為診斷缺陷或失效原因及為判定待修改的分 所需努力有關的軟件屬性易改變性與進行修改,排除錯誤或適應環境變化所需努力 有關的軟件屬性穩定性與修改所造成的未預料結果的風險有關的軟件屬性易測試性與確認已修改軟件所需的努力有關的軟件屬性可移植性與軟件可從某一環境轉 移到另一環境的能力有 關的一組屬性適應性與軟件無須采用有別于為該軟件準備的活動或手段就可能造應不同的規定壞境有關的軟件屬可安裝性與在指定環境下安裝軟件所需努力有關的軟件屬性.一致性使軟件遵循與可移植性有關的標準或約定的軟件可替:換性與軟件在該軟件環境中用來替代指定的其他較件 的機會和努力有關的軟件屬性:(2) Me Call軟件廣量模型。該模型從軟件產品的運行、修正、轉移等3個方面確定了11個質量特性。它給出了一個三層模型框架:第一層是質量特性,第二層是評價準則,第三層是度量指標。2、軟件質量管理 軟件質量會理趣過隹U訂質量方針、建立質量目標和標準(Target)并在瑣目生命期內持續使用質量計劃(Plan)、質量控制(Do)、質量保證(Check)和質量改進(Action)等措施來落實質量方針的執行,確保質量目標的實現,最大限度地使客戶滿意。 3、軟件質量評審 軟件質量評審主要包括設計質量評審和程序質量評請。•設計質量評審:在需求分析階段產生的軟件需求規格說明、數據要求規格說明,在軟件概要設計階段產生的軟件概要設計說明書等。•程序質量評審:著眼于軟件本身的結構、與運行壞境的接口、變更帶東的影響而遵行的評審活動。通常它是從開發者的角度進行評審,直接與開發技術有關。主要包括軟件的結構 (功能結構:功能的通用性、模塊層次、模塊結構、處理過程鈞結構),與運行環境的接口 (包括硬件、其他軟件和用戶).以及變更的影響范圍。三、進度管理軟件開發項目的進度安排有兩種方式:•系統最終交付日期已經確定,軟件開發部門必須在規定期限內完成。•系統最終交付日期只確定了大致的年限,;最居交付-日期由軟件開發部門確定。進度安排的常用圖形描述方法有甘特圖(Gantt)和計劃評審技術圖(PERT)。(1)Gantt圖:用水平線段表示任務的工作階段;線段的起點和終點分別對應著任務的開工時 間和完成時間;線段的長度表示完成任務所需的時間。優點:能清晰地描述每個任務從何時開始,到何時結束,以及各個任務之間的并行性。缺點:不能清晰地反映出各任務之間的依賴關系,難以確定整個項目的關鍵所在,也不能反 映計劃中有潛力的部分。(2)PERT圖:一個有向圖,圖中的有向弧表示任務,它可以標上完成該任務所需的時間;圖中的節點表示流入節點的任務的結束,并開始^[出節點的任務,這里把節點稱為事件。只有當流入該節點的所有任務都結束時,節點所表示的事件才出現,流出節點的任務才可以開始。事件本身不消耗時間和資源,它僅表示某個時間點。每個事件有一個事件號和出現該事件的最早時刻和最遲時刻。每個任務還有一個松弛時間,表示在不影響整個工期的前提下,完成該任務有多少機動余地。 松弛時間為0的任務構成了完成整個工程的關鍵路徑。PERT圖不僅給出了每個任務的開始時間、結束時間和完成該任務所需的時間,還給出了任務之間的關系,即哪些任務完成后才能開始另外一些任務,以及如期完成整個工程的關鍵路徑。松弛時間則反映了完成某些任務是可以推遲其汗始時間或延長其所霽的完成時闡。但是PERT圖不能反映任務乏間的并行關系四、文檔管理文檔是軟件產品的一部分,沒有文檔的軟件就不稱其為軟件。國家標準《計算機軟件產品開發文件編制指南GB 8567—1988》中規定,在一項軟件開發過程中,一般地說應該產生14種文件,如表3-3所示。 表3-3軟件文檔文檔與軟件生命周期各階段關系與各類人員的使用關系可行性研究與計劃需求分析軟件設計編碼/ 單元 測試集成/ 確認 測試管理人員開發人員維護人員用戶可行性研究報告√√√項目開發計劃√√√軟件需求說明書√√數據要求說明書√√概要設計說明書√√√詳細設計說明書√√√數據庫設計說明書√√√用戶手冊√√√操作手冊√√√模塊開發卷宗√√√√開發進度月報√√√√√測試計劃√√測試分析報告√√√項目開發總結報告√√五、成本組織1、估算策略•自頂向下。對整個項目的總開發時間和總工作量做出估算,然后把它們按階段、步驟和工作單元進行分配。•自底向上。自底向上的方法則正好相反,分別估算各工作單元所需的工作量和開發時間, 然后相加,就得出總的工作量和總的開發時間。2、估算方法•專家估算法(Delphi):依靠一個或多個專家,對要求的項目做出#計。•類推估算法:在自頂向下的策略中,將估算項目的總體參數與類似項目進行直接相比得到 結果。在自底向上的策略中,類推是在兩個具有相似條件的工作單元之間進行。•算式估算法:專家估算法和類推估算法的缺點在于,它們依靠帶有一定盲目性和主觀的猜 .測對項目進行估算。算式估算法則是企圖避免主觀因素的影響。用于估算的算式方法有兩 種基本類型:由理論導出、由經驗得出。3、軟件規模速算•LOC (代碼行數)估算法。LOC是一種自底向上的估算方法,即從模塊開始進行估算其優點是容易計算。•FP (功能點)估算法:依據對軟件信息域特性和軟件復雜性的評估結果,估算軟件規模。 這種方法用功能點為單位計度量軟件規模。功能點有5個信息域特;•正:輸入數(Inp)、輸出數(Out)、查詢數(Inq)、主文件數(Maf)和外部接口數(Inf)。4、工作量估算•工作量可以用人日、人月或人年的數量來表示。知道單位工作量的成本,就可得到估算成本。•工作量估算模型有:IBM模型(在60個項目的基礎上進行統計的靜態模型)、普特南模型 (是一個動態多變量模型,通過建立一個資源需求曲線模型導出一系列等式)、COCOMO 型(將項目分為組織型、嵌入型、半獨立型項目,包括有基本靜態、半獨立、詳細3種不同模型)。六、人員管理可以按軟件項目對軟件人員分組,如需求分析組、設計組、編碼組、測試組、維護組等,為了控制軟件的質量還可以有質量保證組。程序設計小組的組織形式可以有多種,如主程序員組、無主程序員組、.層次式程序員組等。軟件配置管理(Software Configure Management,SCM),是一組管理整個軟件生存期各階段中變更的活動,它用于整個軟件工程過程。其目標是:標識變更、控制變更、確保變更正確實現,并報告有關變更。七、風顯管理風險分析在軟件項目管理中具有決定性作用,它是貫穿在軟件工程中的一些列險管理步驟,其中包括風險識別、風險估計、風險管理策略、風險解決和風險監督。(1)風險識別系統地確定對項目計劃(估算、進度、資源分配)的威脅,通過識別已知的或可預測的風險,就可能設法避開風險或駕馭風險。從宏觀上來看,可將風險分為項目風險、技術風險和商業風險。(2)風險估計:從以下兩個方面估價每一種風險。一是估計一個風險發生的可能性,二是估價與風險相關的問題出現后將會產生的結果。通常,由項目計劃人員與管理人員、技術人員一起,進行4種風險估計活動:•建立一個尺度來表明風險發生的可能性;•描述風險的后果;•估計風險對項目和產品的影響;•指明風險估計的正確性以便消除誤解。 八、軟件工具與軟件開發環境1.軟件工具通常可將軟贊工具分為軟件開發工具、軟件雒護工具和軟件管理工具。(1)軟件開發工具包括需求分析工具、設計工具和編碼與排錯工具。(1)軟件維護工具包括版本控制工具、文檔分析工具、開發信息庫工具、逆向工程工具和再工程工具。(1)軟件管理和支持工具包括項目管理工具、配置管理工具和軟件評價工具。(1)軟件開發工具的評價和選擇可以根據以下標準來衡量軟件開發工具的優劣:功能、易用性、穩健性、硬件要求和性能,以及服務和支持。2.軟件開發環境軟件開發環境是支持軟件產品開發的軟件系統。它由工具集和環境集成機制兩部分組成。工具集中還應該包含支持軟件生命周期各階段活動以及支持各種開發方法和開發模型的工具,能支持軟件開發的全過程。而環境集成機制主要包含數據集成機制、控制集成機制和界面集成機制等3方面內容。集成開發環境應具有開放性和可剪裁性。開放性為環境外的工具集成到環境中來提供了方便,可剪裁性可根據不同的應用或不同的用戶需求進行剪裁,以形成特定的開發環境。九、能力成熟度模型簡介能力成熟度模型(CMM)用于衡量軟件企業的開發管理水平,它可作為軟件發包方評估承包方執行能力的參考標準,也可以被軟件企業作為軟件過程改進工作的參考模型。CMM模型將軟件過程的成熟度分為5個等級:(1)初始級:軟件過程的特點是無秩序的,有時甚至是混亂的。軟件過程定義兒乎處于無章法和步驟可循的狀態,軟件產品所取得的成功往往依賴于極個別人的努力和機遇。(2)可重復級:已建立了基本的項目管理過程,可用于對成本、進度和功能特性進行跟蹤。對類似的應用項目,有章可循并能重復以往所取得的成功。(3)已定義級:用于管理的和工程的軟件過程均已文檔化、標準化,并形成了整個軟件組織的標準軟件過程。全部項目均采用與實際情況相吻合的、適當修改后的標準軟件過程來進行操作。(4)受管理級:軟件過程和產品質量有詳細的度量標準。軟件過程和產品質量得到了定量的認識和控制。(5)優化級:通過對來自過程、新概念和新技術等方面的各種有用信息的定量分析,能夠不斷地、持續地對促進過程進行改進。【試題3-13】 2013年5月真題8~9在進行進度安排時,PERT圖不能清晰的描述(8),但可以給出哪些任務壽成后才能開始寫一任務。某項目X包含任務A、B、......、J,其pERT如圖3-3所示(A=l表示該任務A的持續時間是1天),則項目X的關鍵路徑是(9)。 (8)A.每個任務從何時開始 B.每個任務到何時結束 C.各任務之間的并行情況 D.各任務之間的依賴關系(9)A. A-D-H-JB. B-E-H-JC. B-F-JD.C-G-I-J解析:本題考查的是PERT圖。每個任務可以有一個松弛時間,表示在不影響整個工期的前提下,完整該任務有多少余地。PERT圖不能清晰的描述各任務之間的并行情況,但可以給出哪些任務完成后才能開始 另一任務。關鍵路徑是所需時間最長的任務流,貝U本題項目X的關鍵路徑應為B—E—H—J。【答案:(8) C、(9) B]【試題3-14】 2013年11月真題6~7圖3-4是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示包含的活動,則里程碑(6)在關鍵路徑上。若在實際項目進展中,活動AD在活動AC開始3天后才開始,而完成活動DG過程中, 由于有臨時事件發生,實際需要15天才能完成,則完成該項目的最短時間比原計劃多了 (7)天。 (6) A. B B.C C. D D. I(7) A.8 B.3 C. 5 D. 6解析:本題考查的是PERT圖。每個任務可以有一個松弛時間,表示在不影響整個工期的前提下,完成該任務有多少余地。PERT圖不能清晰的描述各任務之間的并行情況,但可以給出哪些任務完成后才能開始 另一任務。關鍵路徑是所需時間最長的任務流,則本題項目X的關鍵路徑易知為A?C—G—J—K。因此,(6) 選擇答案B。原先完成該項目最短時間為10+10+15+7=42;在實際項目進展中,活動AD在活動AC開始3天 后才開始,而完成活動DG過程中,由于有臨時事件發生,實際需要15天才能完成則完成該項目的最短時間 為8+15+15+7=45,貝院成該項目的最短時間&原計劃多了3天。【答案:(6) B、(7) B]【試題13-15】 2012年5月真題7圖3-5是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示包含的活動,邊上的值表 示完成活動所需要的時間,則(7)在關鍵路徑上。 A.B B. C C. D D. H解析:關鍵路徑是時間最長的路徑,為A—C—F—G—I。【答案:(7) B】【試題3-16】 2012年11月真題6~7圖3-6是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示包含的活動,則里程碑(6) 在關鍵路徑上,活動FG的松弛時間為(7)。 (6)A. B B.C C. D D. I(7)A. 19 B.20 C. 21 D.24解析:關鍵路徑是所需時間最長的任務流,通過分析可知本題的關鍵路徑為D—F—H,松弛時間表示在不影響整個工期的前提下,完成該任務有多少機動余地。松弛時間為0的任務構成了完成整個工程的關鍵路 徑。從F到完成的關鍵時間為20+10=30, FG到完成的時間為3+7=10,相差20,故松弛時間為20。【答案:(6) C; (7) B】【試題3-17】 2011年5月真題9圖3-7是一個軟件項HI的活動圖,其中頂點表示項目里程碑,邊表示包含的活動,邊上的權重表示活動的持續時間,則里程碑(9)在關鍵路徑上。 A. 1 B. 2 C. 3 D. 4解析:本題考查的是PERT圖。每個任務可以有一個松弛時間,表示在不影響整個工期的前提下,完成該任務有多少余地。而松弛時間為0的任務是完成整個工程的關鍵路徑。本題中關鍵路徑是:⑨―②—⑤ 一⑦一⑧—⑨。【答案:(9) B】【試題3-18】 2011年5月真題8下列關于項目估算方法的敘述不TF.確的是(8)。A.專家判斷方法受到專家經驗的主觀性影響B.啟發式方法(如COCOMO模型)的參數難以確定C.機器學習方法難以描述訓練數據的特征和確定其相似性D.結合上述3種方法可以得到精確的估算結果解析:即使將專家判斷方法、啟發式方法和機器學習方法結合起來,也不可能得到精確的估算結果。 【答案:(8) D】【試題3-19】 2011年5月真題7下列關于風險的敘述不正確的是:(7)。A.可能發生的事件 B.—定會發生的事件C.會帶來損失的事件 D.可能對其進行干預,以減少損失的事件解析:一定會發生的事件,就不叫風險了。【答案:(7) B】【試題3-20】2011年11月真題8~9若某文件系統的目錄結構如圖3-8所示,假設用戶要訪問文件fl.java,且當前工作目錄為Program,則該 文件的全文件名為(8)其相對路徑為(9)。 (8) A. fl.java B.DVProgramJava-progf 1 .java C.DocumentJava-progfl .javaD.ProgramJava-progfl.java(9) A. Java-prog B. Java-prog C. ProgramJava-prog D. ProgramJava-prog解析:文件控制塊的集合,通常文件目錄也被組織成文件,稱為目錄文件。文件系統一般采用一級目錄結構、二級目錄結構和多級貝錄結構。在多級目錄結構的文件系統中,文件的全路徑名可能較長,也會涉及多次磁盤訪問,為了提高效率,操作系統提供設置工作目錄的機制,每個用戶都有自己的工作目錄,任一 目錄節點都可以被緝寘為工作目錄。一旦某個目錄節點被設置成工作目錄,相應的目錄文件有關內容就會被 調入主存,這樣,汾以工作目錄為根的子樹內任一文件的查找時間會縮短,從工相目錄出發的文件路徑名稱 為文件的相對路徑名。所以全文件名即為D:ProgramJava-progfl.java;而相對路徑則為從當前工作目錄Program出發的路徑名,即為Java-progo【答案:(8) C; (9) A】【試題3-21】 2011年11月真題7圖3-9是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂卓的邊表示包含的活動,邊上的值表示完成活動所需要的時間,則關鍵路徑長度為(7)。 A. 20 B. 19 C. 17 D. 16解析:本題考查的是PERT圖。每個任務可以有一個松弛時間,表示在不影響整個工期的前輯下,完 成該任務有多少余地。而松弛時間為0的任務是完成整個工程的關鍵路徑。分析題圖中每個任務的工期可知, 關鍵路徑為A—B—D—I—J—L,可計算出其路徑長度為20。【答案:(7) A】【試題3-22】 2010年5月真題2~3進度安排的常用圖形描述方法有GANTT圖和PERT圖。GANTT圖不能清晰地描述(2) ; PERT圖可以給出哪些任務完成后才能開始另一些任務。圖3-10所示的PERT圖中,事件6的最晚開始時刻是(3)。 (2) A.每個任務從何時開始B.每個任務到何時結束 C.每個任務的進展情況D.各任務之間的依賴關系(3)A. 0 B. 1 C. 10 D. 11解析:甘特圖的優點是直觀表明各個任務的計劃進度和當前進度,能動態地反映軟件開發進展的情況, 是小型項目中常用的工具。缺點是不能顯式地描繪各個任務間的依賴關系,關鍵任務也不明確。PERT圖中的關鍵路徑是1—2—5—7—9,總共15天。在不影響關鍵路徑,并考慮到5—8這個任務的前提 下,事件6的最晚開始時間為15-5=10。【答案:(2) D; (3) C】【試題3-23】 2010年11月真題4~5使用PERT圖進行進度安排,不能清晰地描述(4),但可以給出哪些任務完成后才能開始另一些任務。下面PERT圖所示工程從A到K的關鍵路徑是(5)(圖3-11中省略了任務的開始和結束時刻)。 (4) A.每個任務從何時開始 B.每個任務到何時結束 C.各任務之間的并行情況 D.各任務之間的依賴關系(5) A. ABEGHIK B. ABEGHJK C. ACEGHIK D. ACEGHJK解析:PERT圖給出了每個任務的開始時間、結束時間和完成該任務所需要的時間,同時還給出了任務之間的依賴關系,即哪些任務完成后才能執行另外一些任務。PERT的不足是不能反映任務之間的并行關系。關鍵路徑是松弛時間為0的任務完成過程所經歷的路徑。本題的圖中沒有給出松弛時間,因此關鍵路徑 是耗時最長的路徑,即A—B—E—G—H—J—K。【答案:(4) C; (5) B】【試題3-24】 2010年11月真題7軟件復雜性度量的參數不包括 (7)。A.軟件的規模B.開發小組的規模C.軟件的難度D.軟件的結構解析:軟件復雜性度量的參數很多,主要有:•規模,即總共的指令數,或源程序行數。•難度,通常由程序中出現的操作數的數目所決定的量來表示。•結樹,通常用與程序結構有關的度量來表示。•智能度,即算法的難易程度。軟件復雜性主要表現在程序的復雜性。程序的復雜性主要指模塊內程序的復雜性。它直接關聯到軟件開 發費用的多少、開發周期長短和軟件內部潛伏錯誤的多少。【答案:(7) B】【考點三】軟件的測試與調試一、軟件測試的目的、原則及過程1.軟件測試的目的軟件測試的目的是盡可能多地發現軟件產品(主要是指程序)中的錯誤和缺陷。成功的測試是發現了至今未發現的錯誤的測試。2、軟件測試的原則•應盡早并不斷地進行測試。•測試工作應該避免由原開發軟件的人或小組承擔。•設計測試方案的時候,不僅要確定輸入數據,而且要根據系統功能確定預期的輸出結果。•在設計用例時,不僅要設計有效合理的輸入條件,也要包含不合理、失效的輸入條件。•在測試程序時,不僅要檢驗程斤是否做了該做的事,還要檢驗程序是否做了不該做的事。•嚴格按照測試計劃來進行,避免測試的隨意性。•妥善保存測試計劃、測試用例,作為軟件文檔的組成部分,為維護提供方便。•測試用例都是精心設計出來的,可以為重新測試或追加測試提供方便。3、測試過程一個規范的測試過程通常包括:制定測試計劃、編制測試大綱、根據測試大綱設計和生成測試用例、實施測試和生成測試報告。二、測試方法測試的關鍵是測試用例的設計。軟件測試的種類大致可以分為人工測試和動態測試。動態測試方法中又根據測試用例的設計方法不同分為白盒測試和黑盒測試。1、白盒測試白盒測試法需要了解程序內部的結構,測試用例是根據程序的內部邏輯來設計的。白盒測試法主要用于軟件的單元測試。白盒測試的基本原則是:•保證所測模塊中每一個獨立路徑至少執行一次;•保證所測模塊所有判斷的每一個分支.至少執行一次;•保證所測模塊每一個循環都在邊界條件和一般條件至少執行一次;•驗證所有內部數據結構的有效性。白盒測試法常用的技術是邏輯覆蓋。主要的覆蓋標準有6種,強度由低到高依次是:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。2、黑盒測試黑盒測試是對軟件已經實現的功能是否滿足需求進行測試和驗證。黑盒測試不關心程序內部的邏輯,只是根據程序的功能說明來設計測試用例。黑盒測試法主要用于軟件的確認測試。測試方法有:•等價類劃分:把輸入數據劃分成若干個有效等價類和若干個無效等價類,然后設計測試用例覆蓋這些等價類。•邊界值分析:對各種輸入、輸出范圍的邊界情況設計測試用例的方法。這是因為程序中在處理邊界情況時出錯的概率比較大。•錯誤猜測:根據經驗或直覺推測程序中可能存在的各種錯誤。•因果圖:根據輸入條件與輸出結果之間的因果關系來設計測試用例。三、軟件測試步驟(1)單元測試:也稱模塊測試,主要發現編碼和詳細設計中產生的錯誤,通常采用白盒測試。放在編碼階段,由程序員自己來完成,檢查它是否實現了詳細設計說明書中規定的模塊功能和算法。其測試計劃是在詳細設計階段完成。單元測試的測試計劃是在詳細設計階段完成。(2)集成測試:也稱組裝測試,對由各模塊組裝而成的程序進行測試,主要檢查模塊間的接口和通信。集成測試主要發現設計階段產生的錯誤,通常采用黑盒測試或灰盒測試。集成的方式可分成非漸增式集成和漸增式集成。集成測試的測試計劃是在概要設計階段完成。(3)確認測試:檢查軟件的功能、性能及其他特征是否與用戶的需求一致,它是以需求規格說明書(即需求規約)作為依據的測試。確認測試通常采用黑盒測試,其測試計劃是在需求分析階段完成。•Alpha測試:在開發者的現場由客盧來實施的,被測試的軟件是在常規設置的環境下運行的。•Beta測試:在一個或多個客戶的現場由該軟件的最終用戶實施的,開發者通常是不在場的。(4)系統測試:把已經過確認的軟件納入實際運行環境中,與其他系統成份組合在一起進行測試。主要內容包括恢復測試、安全測試、強度測試、性能測試、可靠性測試、安裝測試等。四、軟件調試調試是在進行了成功的測試之后才開始的工作。其任務是進一步診斷和改正程序中潛在的錯誤。調試由兩部分組成:確定錯誤的確切性質和位置、修改程序(設計、編碼)。目前常用的調試方法有以下5種:•試探法•回湖法•對分查找法•歸納法•演繹法【試題3-25】 2010年5月真題4使用白盒測試方法時,確定測試用例應根據(4)和指定的覆蓋標準。A.程序的內部邏輯B.程序結構的復雜性C.使用說明書D.程序的功能解析:白盒法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。白盒法是窮舉路徑測試。在使用這一方 案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。【答案:(4) A】【考點四】系統維護一、系統維護的內容1.硬件維護硬件維護應由專職的硬件維護人員來負責,主要有兩種類型的維護活動,一種是定期的設備保養性維護,另一種是突發性的故障維護。2.軟件維護軟件維護主要是根據需求變化或硬件環境的變化對應用程序進行部分或全部的修改。3.數據維護數據維護主要是由數據庫管理員來負責,主要負責數據庫的安全性和完整性以及進行并發性控制。二、軟件維護的內容軟件維護的內容包括:正確性維護、適性維護、完善性維護和預防性維護等。(1)改正性維護在軟件交付使用后,必然會有一部分隱藏的錯誤被帶到運行階段來。這些隱藏下來的錯誤在某些特定的使用環境下就會暴露出來。為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用,應當進行的診斷和改正錯誤的過程,就叫做改正性維護。(2)適應性維護隨著計算機的飛速發展,外部環境(新的硬、軟件配置)或數據環境(數據庫、數據格式、 數據輸入/輸出方式、數據存儲介質)可能發生變化,為了使軟件適應這種變化,而去修改軟件的過程就叫做適應性維護。(3)完善性維護在軟件的使用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。這種情況下進行的維護活動叫做完善性維護。(4)預防性維護預防性維護是為了提高軟件的可維護性和可靠性,為未來的進一步改進打下基礎而修改軟件的活動。在整個軟件維護活動中,改正性維護約占20%,適應性維護約占25%,完善性維護約占50%以上,其他維護約占4%。三、軟件可維護性的質量特征軟件可維護性可以用以下的7個質量特性來衡量:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。
主站蜘蛛池模板: 亚洲同人在线播放 | 国产97视频在线 | 黄色在线资源 | 亚洲热视频在线观看 | 日本高清免费视频m免费 | 果冻传媒剧国产免费入口今日更新 | 日本乱子伦一区二区三区 | 欧美特黄a级高清免费大片a级 | 亚洲毛片在线视频 | 亚洲无线观看国产精品 | 欧美第一网站 | 日韩国产高清视频 | 东北少妇女精品bbwbbw中 | 日韩福利一区 | 免费看日韩片 | 2021无码最新国产在线观看 | 久久精品二 | 国产爆乳尤妮丝在线播放 | 在线?看视频91| 人妻洗澡被强公日日澡 | 狠狠色丁香久久婷婷综合五月 | 国产美女在线播放 | 久久性生活视频 | 日本一本二本三本在线观看 | 日本妞一区| 四虎成人精品永久免费av | 91久久天天躁狠狠躁夜夜 | 亚洲精品国产高清在线观看 | 国产AⅤ爽AV久久久久玉浦团 | 黄色小网站免费 | 91精品欧美久久久久久动漫 | 久久精品国产亚洲av不卡 | 国产chinasex对白videos麻豆 | 国产第一区二区三区 | 国产成人无码VA在线观看 | 日韩不卡一二三 | 久久午夜夜伦鲁鲁片免费无码 | 精品露脸国产偷人在视频 | 国产精品白丝喷水在线观看 | 日韩av爽爽爽久久久久久 | 欧美黑人乱大交 |