




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第九章系統(tǒng)實施與運行維護系統(tǒng)實施的任務及管理編碼與開發(fā)環(huán)境開放源碼軟件系統(tǒng)測試系統(tǒng)部署系統(tǒng)轉換系統(tǒng)運行與維護2022/12/311第九章系統(tǒng)實施與運行維護系統(tǒng)實施的任務及管理2022/1系統(tǒng)實施的任務及管理系統(tǒng)實施的任務軟件能力成熟度模型與開發(fā)管理2022/12/312系統(tǒng)實施的任務及管理系統(tǒng)實施的任務2022/12/292系統(tǒng)實施的任務實施是建立、測試和安裝最后系的階段。該階段的目標不僅要有一個可靠的信息系統(tǒng),而且要確保培訓所有的用戶并使業(yè)務受益。具體包括購置計算機硬件、系統(tǒng)軟件,并安裝調試;程序編碼、程序及系統(tǒng)的調試;用戶培訓、編寫各種文檔等。2022/12/313系統(tǒng)實施的任務實施是建立、測試和安裝最后系的階段。該階段的目系統(tǒng)實施的任務程序編碼組織與實施
信息系統(tǒng)通常由多個程序員分工協(xié)作完成的,程序員需要按標準的規(guī)定進行編碼,從而保證接口信息通信和數(shù)據(jù)傳遞的一致性。因此程序編碼的管理問題十分重要,這樣才能得到高質量的程序。在程序編碼組織與實施中,首先應選擇適用的程序設計方法、編程語言和開發(fā)平臺;然后,建立程序開發(fā)過程中團隊的協(xié)同機制,以保證開發(fā)的順利進行。2022/12/314系統(tǒng)實施的任務程序編碼組織與實施2022/12/294系統(tǒng)實施的任務質量保證與控制質量保證計劃明確項目的質量目標,盡量將目標具體或定量化,并建立項目質量控制的措施。這些措施包括:確定要進行的測試、驗證和確認活動的類型,要執(zhí)行的詳細測試、驗證和確認活動計劃,包括時間進度、資源和批準權力等;明確質量活動的具體職責,以及項目規(guī)定使用的標準、慣例和約定等。此外,還要規(guī)定對分承包方的控制方法、配置管理和更改控制;還要考慮在系統(tǒng)生存周期內軟件產品的備份與恢復。2022/12/315系統(tǒng)實施的任務質量保證與控制2022/12/295系統(tǒng)實施的任務原始數(shù)據(jù)的建立數(shù)據(jù)是信息系統(tǒng)操作的實際對象。在系統(tǒng)分析設計階段對支持系統(tǒng)運行的數(shù)據(jù)進行了整體規(guī)劃,并得到相應的數(shù)據(jù)模式。在系統(tǒng)實施階段就要根據(jù)所選擇的數(shù)據(jù)庫管理系統(tǒng)的技術條件來實現(xiàn)相關的設計,數(shù)據(jù)庫的實施質量在很大程度上影響整個信息系統(tǒng)的質量。因此,在實施中數(shù)據(jù)庫開發(fā)人員應熟練掌握相應數(shù)據(jù)庫管理系統(tǒng)的功能、性能以及開發(fā)工具的使用,充分發(fā)揮相應系統(tǒng)的潛能,使系統(tǒng)達到良好的設計效果。2022/12/316系統(tǒng)實施的任務原始數(shù)據(jù)的建立2022/12/296系統(tǒng)實施的任務組織系統(tǒng)測試測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,測試活動的另一主要目的是要分析錯誤產生的原因和錯誤的分布特征,以便幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助系統(tǒng)開發(fā)人員設計出有針對性地檢測方法,改善測試的有效性。系統(tǒng)測試的目的決定了如何去組織測試。2022/12/317系統(tǒng)實施的任務組織系統(tǒng)測試2022/12/297系統(tǒng)實施的任務項目管理與實施進度控制
制定系統(tǒng)實施進度有兩種途徑:一是開發(fā)小組根據(jù)系統(tǒng)開發(fā)的最后期限從后往前安排時間;二是開發(fā)小組根據(jù)項目和資源情況制定初步計劃和交付日期。一般情況下,系統(tǒng)開發(fā)人員希望按照第二種方式安排工作進度,而用戶則會要求采用第一種方式。
2022/12/318系統(tǒng)實施的任務項目管理與實施進度控制2022/12/298系統(tǒng)實施的任務項目管理與實施進度控制人力資源的分配任務分解與并行化工作量分布進度的安排方法2022/12/319系統(tǒng)實施的任務項目管理與實施進度控制2022/12/299軟件能力成熟度模型與開發(fā)管理
軟件能力成熟度的含義與作用軟件能力成熟度模型(CapabilityMaturityModelforSoftware,CMM)是對開發(fā)者軟件過程能力的描述,其核心是把軟件開發(fā)視為一個過程,對軟件開發(fā)過程進行監(jiān)控,使其更加科學和標準。它的側重點在于軟件過程開發(fā)的管理及軟件工程能力的改進與評估。
2022/12/3110軟件能力成熟度模型與開發(fā)管理
軟件能力成熟度的含義與作用20軟件能力成熟度模型與開發(fā)管理
CMM的結構:為軟件企業(yè)的過程能力提供了一個階梯式的進化框架,框架共有五級。初始級(Initial)可重復級(Repeatable)定義級(Defined)管理級(Managed)優(yōu)化級(Optimizing)
2022/12/3111軟件能力成熟度模型與開發(fā)管理
CMM的結構:為軟件企業(yè)的過程軟件能力成熟度模型與開發(fā)管理
關鍵過程域在CMM中,第1級除外,每個成熟度等級規(guī)定了不同的關鍵過程域(KPA),關鍵過程域是一系列相互關聯(lián)的活動,這些活動反映了軟件組織改進過程時應改進的方面,即達到某個成熟度等級時所必須滿足的條件。CMM共有18個關鍵過程域,分布在2至5級中。2022/12/3112軟件能力成熟度模型與開發(fā)管理
關鍵過程域2022/12/29編碼與開發(fā)環(huán)境程序設計語言集成開發(fā)環(huán)境極限編程正向工程和逆向工程2022/12/3113編碼與開發(fā)環(huán)境程序設計語言2022/12/2913程序設計語言程序設計語言的發(fā)展機器語言匯編語言高級語言(第三代語言)非過程化的第四代語言2022/12/3114程序設計語言程序設計語言的發(fā)展2022/12/2914程序設計語言幾種主流的程序設計語言C/C++JavaC#Pascal/Delphi2022/12/3115程序設計語言幾種主流的程序設計語言2022/12/2915集成開發(fā)環(huán)境開發(fā)環(huán)境的作用集成開發(fā)環(huán)境(IntegratedDevelopingEnvironment,IDE)是一個綜合性的工具軟件,它把程序設計過程中所需的各項功能集合在一起,為程序設計人員提供完整的開發(fā)支持,其應用范圍在“開發(fā)、構建和調試”周期中,為開發(fā)人員提供代碼編輯、組裝、編譯、連接、調試和版本管理等工作。2022/12/3116集成開發(fā)環(huán)境開發(fā)環(huán)境的作用2022/12/2916集成開發(fā)環(huán)境Eclipse開發(fā)環(huán)境EclipseCVSAntJUnit2022/12/3117集成開發(fā)環(huán)境Eclipse開發(fā)環(huán)境2022/12/2917極限編程敏捷軟件開發(fā)傳統(tǒng)的重量級方法追求嚴謹?shù)奈臋n,希望以詳細的計劃和標準化來規(guī)范軟件生產過程,強調以開發(fā)過程為中心。敏捷開發(fā)過程注重開發(fā)團隊和成員之間的關系,而不以開發(fā)的進程和使用的工具為重點,注重軟件產品而不是文檔編制;注重開發(fā)中與客戶的協(xié)同,而不以簽訂合同為核心;注重在開發(fā)過程中隨時調整計劃,而不是完全遵循某一開發(fā)計劃。2022/12/3118極限編程敏捷軟件開發(fā)2022/12/2918極限編程極限編程
極限編程是一種近似螺旋式的開發(fā)方法,它將復雜的開發(fā)過程分解為一個個相對簡單的更小周期。通過交流、反饋以及其它方法,開發(fā)人員和客戶可以非常清楚開發(fā)進度、變化、待解決的問題和潛在的困難等,并根據(jù)實際情況及時地調整開發(fā)過程。
極限編程的主要目標是降低變化的成本。
2022/12/3119極限編程極限編程2022/12/2919極限編程XP的核心實踐
規(guī)劃策略持續(xù)集成結對編程現(xiàn)場客戶測試小型發(fā)布重構每周40小時工作制簡單設計編碼規(guī)范代碼集體所有系統(tǒng)隱喻2022/12/3120極限編程XP的核心實踐規(guī)劃策略持續(xù)集成結對編程現(xiàn)場客戶測試正向工程和逆向工程正向工程和逆向工程的概念
正向工程是指從模型得到代碼的過程。利用一定的開發(fā)工具,設計者可以通過正向工程從模型生成代碼框架,從而減少了開發(fā)者用于編寫類、屬性、方法代碼等瑣碎工作的時間。
逆向工程與正向工程的方向剛好相反,它將代碼轉換成設計模型。在只有源代碼,而沒有設計文檔的情況下,通過逆向工程得到設計模型。從而了解以前某個軟件的設計。逆向工程也可以用于對代碼和模型進行同步。2022/12/3121正向工程和逆向工程正向工程和逆向工程的概念2022/12/正向工程和逆向工程正向工程和逆向工程結合在一起,就形成了雙向工程。雙向工程實現(xiàn)了在系統(tǒng)設計描述和代碼框架之間的雙向交換。很多開發(fā)工具支持主流建模方法與開發(fā)語言間的雙向工程,2022/12/3122正向工程和逆向工程正向工程和逆向工程結合在一起,就形成了雙向正向工程和逆向工程RationalRose中的Java代碼生成設置RationalRose中的Java代碼生成過程2022/12/3123正向工程和逆向工程RationalRose中的Java代碼開放源碼什么是開放源碼軟件開放源碼軟件的特點LAMPstack開源解決方案2022/12/3124開放源碼什么是開放源碼軟件2022/12/2924什么是開放源碼軟件開放源碼軟件的概念
開放源碼軟件(OpenSourceSoftware,OSS)的概念由開放源碼促進會(OpenSourceInitiative,OSI)所定義,是指其全部源碼程序對任何人都是公開的,并允許任何人免費(或少許收費)獲取、使用、復制、修改及發(fā)布的軟件。
開放源碼軟件從自由軟件(FreeSoftware)發(fā)展而來。
2022/12/3125什么是開放源碼軟件開放源碼軟件的概念2022/12/292什么是開放源碼軟件開放源碼軟件的原則允許自由再分發(fā)必須包括源代碼允許修改原作品并產生衍生作品必須保持作者源代碼的完整性不得歧視任何個人和團體2022/12/3126什么是開放源碼軟件開放源碼軟件的原則2022/12/292什么是開放源碼軟件開放源碼軟件的原則(續(xù))不得對特定領域有差別限制條款對衍生產品自動適用授權條款不得附屬于其它產品之下授權條款不得對隨同分發(fā)的其它軟件做出限制分發(fā)渠道必須保持技術中立性2022/12/3127什么是開放源碼軟件開放源碼軟件的原則(續(xù))2022/12/開放源碼軟件的特點開放源碼軟件的優(yōu)點有助于改善代碼質量價格優(yōu)勢有助于快速修改錯誤多個開發(fā)商2022/12/3128開放源碼軟件的特點開放源碼軟件的優(yōu)點2022/12/292開放源碼軟件的特點開放源碼軟件的缺點
由于任何人都可以自由參與開源軟件的開發(fā),也可以將自己編制的軟件供別人共享,因而軟件的版本管理、質量保證、錯誤跟蹤和修正等都存在問題。同時,在不了解知識產權的情況下,源代碼的開放可能會引起侵權行為。開源軟件面臨著資金保證的問題,沒有資金,軟件的開發(fā)也只能處于停滯狀態(tài)。開放源碼軟件的開發(fā)主要應用于科學研究,軟件的使用者大多是科研人員。因此,軟件的使用可能不具備普及性。另外,開放源碼的測試、整理與推廣也是值得思考的問題。2022/12/3129開放源碼軟件的特點開放源碼軟件的缺點2022/12/292LAMPstack開源解決方案隨著開放源碼應用的發(fā)展,在軟件開發(fā)中出現(xiàn)了LAMPstack開源解決方案,作為一種應用開發(fā)程序和開發(fā)環(huán)境,它功能強大,使用簡單。LAMP是這個開發(fā)環(huán)境中四個組件的縮寫:L指的是Linux操作系統(tǒng);A指的是Apacheweb服務器;M指的是MySQL開源數(shù)據(jù)庫;P則是PHP、Perl或Python腳本語言。這四種開源技術結合在一起便組成了一個應用服務平臺。2022/12/3130LAMPstack開源解決方案隨著開放源碼應用的發(fā)展,在軟LAMPstack開源解決方案Linux操作系統(tǒng)
作為一種操作系統(tǒng),Linux是自由軟件和開放源碼中最著名的例子。嚴格地說,Linux只是一個操作系統(tǒng)的內核,由LinusTorvalds在1991年開始編寫。期間,RichardStallman創(chuàng)建了GNU組織?;贚inux的內核,許多個人、組織和企業(yè)發(fā)行了不同的Linux版本。其中比較著名的有Redhat、Mandriva、SUSE、Debian和Ubuntu等。2022/12/3131LAMPstack開源解決方案Linux操作系統(tǒng)2022LAMPstack開源解決方案Apache服務器Apache是著名的開源組織Apache軟件基金會(ApacheSoftwareFoundation,ASF)的產品。從1995年誕生至今,Apache以其超強的穩(wěn)定性、可配置性、豐富的擴展性和堅實的安全性,成為互聯(lián)網(wǎng)中流行的Web服務器,可以運行在幾乎所有的計算機平臺上。
2022/12/3132LAMPstack開源解決方案Apache服務器2022/LAMPstack開源解決方案MySQL數(shù)據(jù)庫系統(tǒng)
MySQL是由MySQLAB公司開發(fā),以強調檢索速度而著稱。MySQL提供了非常豐富的應用程序接口,能夠很好的支持Java/JDBC、PHP、PerlDBI及Python等。除了命令行的數(shù)據(jù)庫管理工具之外,通過開放源碼的phpMyAdmin和phpPgAdmin還可以為MySQL提供基于Web的數(shù)據(jù)管理界面,方便了開發(fā)人員的工作。2022/12/3133LAMPstack開源解決方案MySQL數(shù)據(jù)庫系統(tǒng)202LAMPstack開源解決方案開放源碼語言LAMPstack中使用的開源語言Perl、Python和PHP都是“解釋運行的”語言。由于解釋運行而不是編譯,這些語言能夠很快部署并很容易使用,也加快了開發(fā)時間。這些語言都提供了豐富的環(huán)境,能夠執(zhí)行復雜任務,并為開發(fā)人員提供了擴展功能的接口。2022/12/3134LAMPstack開源解決方案開放源碼語言2022/12軟件系統(tǒng)測試測試的目的與任務測試模型與過程測試的方法軟件測試活動2022/12/3135軟件系統(tǒng)測試測試的目的與任務2022/12/2935軟件系統(tǒng)測試軟件測試是對軟件設計和編碼總的復審,是發(fā)現(xiàn)軟件中錯誤和缺陷的手段,是軟件質量保證的重要環(huán)節(jié)。在軟件開發(fā)中,軟件測試工作通常要占總工作量的40%~50%以上。軟件測試根據(jù)開發(fā)各階段的規(guī)格說明和程序的內部結構設計測試用例(即輸入數(shù)據(jù)及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤。2022/12/3136軟件系統(tǒng)測試軟件測試是對軟件設計和編碼總的復審,是發(fā)現(xiàn)軟件中測試的目的與任務軟件測試的目的是用最小的代價找出軟件中潛在的錯誤和缺陷。測試的目的并不是證明軟件中沒有錯誤,而是找出軟件中的錯誤。沒有發(fā)現(xiàn)錯誤的測試不是成功的測試。測試具有不徹底性,人們必須研究如何設汁測試用例,以期用較少的測試用例,覆蓋盡可能多的需測試的可能。2022/12/3137測試的目的與任務軟件測試的目的是用最小的代價找出軟件中潛在的測試的目的與任務在測試中要特別注意以下幾點盡早地和不斷地進行測試制定嚴格的測試計劃完全測試程序是不可能的,但是要盡量全面地測試認真設計測試用例2022/12/3138測試的目的與任務在測試中要特別注意以下幾點2022/12/2測試的目的與任務在測試中要特別注意以下幾點(續(xù))避免檢查自己的程序發(fā)現(xiàn)的錯誤越多,說明潛在的錯誤越多正確對待測試的結果妥善保存相關文檔2022/12/3139測試的目的與任務在測試中要特別注意以下幾點(續(xù))2022/1測試模型與過程V模型V模型形象地描述了各階段的活動呈“V”字型排列,說明了這些測試級別和開發(fā)過程各個階段的對應關系,同時也有確認(Validation)、驗證(Verification)的意思。V模型左邊是開發(fā)過程各階段,右邊是測試過程的各個階段。開發(fā)階段從定義業(yè)務需求開始,然后要把這些需求不斷地轉換到概要設計和詳細設計中去,最后開發(fā)成為程序代碼。在測試階段,先從單元測試開始,然后是集成測試、系統(tǒng)測試和驗收測試。2022/12/3140測試模型與過程V模型2022/12/2940測試模型與過程V模型2022/12/3141測試模型與過程V模型2022/12/2941測試模型與過程單元測試:檢測最小的軟件設計單元模塊是否符合詳細設計的要求,是否存在編碼錯誤等,確保產生符合要求的、可靠的程序單元。集成測試:檢測各個模塊是否能夠完好地結合到一起,是否在接口等方面存在錯誤等。確保各個模塊以正確、穩(wěn)定和一致的方式交互。系統(tǒng)測試:檢測已集成在一起的產品是否符合系統(tǒng)規(guī)格說明書的要求。系統(tǒng)測試驗證系統(tǒng)的功能和結構的穩(wěn)定性,以及性能和可靠性等非功能性需求。驗收測試:檢測產品是否符合最終用戶的業(yè)務需求,并在正式交付用戶使用之前確保系統(tǒng)工作正常而且可用2022/12/3142測試模型與過程單元測試:檢測最小的軟件設計單元模塊是否符合詳測試模型與過程W模型
W模型由兩個V模型組成,其中一個V表示開發(fā)過程,另一個V表示測試過程。
在W模型中,測試伴隨著整個開發(fā)周期,測試的對象也不僅僅是程序。需求、功能和設計同樣要測試。由于測試與開發(fā)是同步進行的,W模型更有利于盡早發(fā)現(xiàn)問題。
2022/12/3143測試模型與過程W模型2022/12/2943測試模型與過程W模型2022/12/3144測試模型與過程W模型2022/12/2944測試模型與過程X模型X模型針對單獨的程序片段進行相互分離的編碼和測試,此后通過頻繁的交接,集成可執(zhí)行的程序。X模型還可進行探索性測試,即不進行事先計劃的特殊類型的測試,這種測試往往能在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。
2022/12/3145測試模型與過程X模型2022/12/2945測試模型與過程X模型2022/12/3146測試模型與過程X模型2022/12/2946測試模型與過程Alpha、Beta和Gamma測試
在正式發(fā)布前,大型通用軟件通常要執(zhí)行Alpha和Beta測試,目的是從實際終端用戶的使用角度,對軟件的功能和性能進行測試,以發(fā)現(xiàn)可能只有最終用戶才能發(fā)現(xiàn)的錯誤。Alpha測試是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內部的用戶在模擬實際操作環(huán)境下進行的受控測試,它尤其注重產品的界面和特色。Alpha測試不能由程序員或測試員完成。2022/12/3147測試模型與過程Alpha、Beta和Gamma測試2022/測試模型與過程Alpha、Beta和Gamma測試(續(xù))Beta測試是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。因而,Beta測試是在開發(fā)者無法控制的環(huán)境下進行的軟件現(xiàn)場應用。在Beta測試中,由用戶記下遇到的所有問題。Beta測試著重于產品的支持性,包括文檔、客戶培訓和支持產品的生產能力。只有當Alpha測試達到一定的可靠程度后,才能開始Beta測試。Gamma測試是對“存在缺陷”產品的測試。2022/12/3148測試模型與過程Alpha、Beta和Gamma測試(續(xù))20測試的方法黑盒測試又稱為功能測試或數(shù)據(jù)驅動測試。是在已知系統(tǒng)應具有的功能,通過測試來檢測每個功能是否正常。測試時把程序看作一個黑盆子,不考慮程序內部結構和特性,對程序接口進行測試。黑盒測試方法主要有等價類劃分方法、邊界值分析方法、錯誤推測方法、因果圖方法、判定表驅動分析方法、正交實驗設計方法和功能圖分析方法。2022/12/3149測試的方法黑盒測試2022/12/2949測試的方法白盒測試又稱邏輯驅動測試或結構測試。是把測試對象看作一個打開的盒子,需要考察軟件產品的內部結構和處理過程。它通過測試來檢測內部動作是否符合規(guī)格說明,主要用于軟件驗證。白盒測試的方法分為靜態(tài)方法和動態(tài)方法兩類。白盒測試關注的是測試用例執(zhí)行的程度覆蓋程序邏輯結構的程度。2022/12/3150測試的方法白盒測試2022/12/2950測試的方法測試用例測試用例是為某個特殊目標而編制的一組測試輸入、執(zhí)行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。由于每個測試用例反映不同的場景、條件或經由產品的事件流,因而,隨著測試用例數(shù)量的增加,測試也就越深入和全面。一般每個測試需求至少編制兩個測試用例:正面測試用例和負面測試用例2022/12/3151測試的方法測試用例2022/12/2951測試的方法測試腳本
測試腳本是實現(xiàn)軟件測試自動化設計的重要部分,使用不同的腳本技術可以減少腳本的大小、數(shù)量及復雜度,每個腳本技術都有其不同的適用場合。應根據(jù)所要實現(xiàn)的測試方法體系,綜合腳本技術,以較理想的方法實現(xiàn)測試用例。2022/12/3152測試的方法測試腳本2022/12/2952測試的方法測試場景
場景是軟件系統(tǒng)中事件觸發(fā)時的情景,同一事件不同的觸發(fā)順序和處理結果形成事件流。在軟件測試中,描繪出事件觸發(fā)時的情景,有利于設計測試用例,也有利于更容易地理解和執(zhí)行測試用例。2022/12/3153測試的方法測試場景2022/12/2953軟件測試活動回歸測試回歸測試是對程序進行修改之后的測試,其目的是判斷程序修改是否達到了預期目標,并檢查修改是否引起了程序其他方面的退步。在項目開發(fā)中,測試組會將測試用例保存到“測試用例庫”中,并對其進行維護和管理。當?shù)玫揭粋€軟件的基線版本時,用于基線版本的所有測試用例就形成了基線測試用例庫。當需要進行回歸測試時,可以根據(jù)所選擇的回歸測試策略,從基線測試用例庫中提取合適的測試用例組成回歸測試包,通過運行回歸測試包來實現(xiàn)回歸測試。2022/12/3154軟件測試活動回歸測試2022/12/2954軟件測試活動性能測試性能測試是檢驗系統(tǒng)或系統(tǒng)部件是否達到規(guī)定的性能指標,是否滿足一些性能相關的約束和限制條件,例如在特定負載和配置環(huán)境下程序的響應時間和吞吐率。性能測試通常在系統(tǒng)測試階段執(zhí)行,常常與強度測試結合起來,一般需要使用測試工具。評估測試對象的性能側重于獲取與行為相關的數(shù)據(jù),如響應時間、計時配置文件、執(zhí)行流、操作可靠性和限制。2022/12/3155軟件測試活動性能測試2022/12/2955軟件測試活動壓力測試
壓力測試評價一個系統(tǒng)可以承受的壓力極限,以及超負荷時的響應情況。通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務級別。例如測試在大負荷量下,一個Web站點何時響應退化或失敗。在極限測試狀況下,理想的系統(tǒng)可能會響應不及時,但不應宕機,并應在負荷正常后一段時間內恢復正常運行。2022/12/3156軟件測試活動壓力測試2022/12/2956軟件測試活動安全測試安全測試檢查系統(tǒng)對非法侵入的防范能力,主要是測試系統(tǒng)在沒有授權的內部或者外部用戶對系統(tǒng)進行攻擊或者惡意破壞時如何進行處理,是否仍能保證數(shù)據(jù)的安全。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。從理論上講,只要有足夠的時間和資源,沒有不可進入的系統(tǒng)。因此,系統(tǒng)安全設計的準則是,使非法侵入的代價超過被保護信息的價值。這樣非法入侵者就無利可圖。2022/12/3157軟件測試活動安全測試2022/12/2957軟件測試活動安裝測試
安裝測試檢驗軟件是否可以正確安裝,安裝文件的各項設置是否有效,安裝后能否影響原系統(tǒng);卸載測試是逆過程,測試是否刪除干凈,是否會影響原系統(tǒng)等。2022/12/3158軟件測試活動安裝測試2022/12/2958軟件測試活動可用性測試可用性測試是對“用戶友好性”的測試??刹捎糜脩裘嬲?、調查、用戶對話的錄像和其他一些技術。程序員和測試員通常都不宜做可用性測試員。2022/12/3159軟件測試活動可用性測試2022/12/2959軟件測試活動穩(wěn)定性測試
穩(wěn)定性測試模擬系統(tǒng)高峰期使用人數(shù)、各事務操作頻率等,設計綜合測試場景,將每個場景按照一定人數(shù)比率同時運行,并模擬用戶使用數(shù)年的情況。監(jiān)控測試中系統(tǒng)各性能指標是否能保持正常。事務響應時間是否會出現(xiàn)波動或隨測試時間增漲而增加。系統(tǒng)是否會在測試期間內發(fā)生如宕機、應用中止等異常情況。2022/12/3160軟件測試活動穩(wěn)定性測試2022/12/2960軟件測試活動易用性測試易用性測試面向軟件系統(tǒng)的易用性的問題。通常從用戶的角度來考慮,主要是用界面測試,包括符合標準規(guī)范、界面直觀、是否與用戶已經熟練的操作方式一致、靈活、舒適、正確及實用等方面。2022/12/3161軟件測試活動易用性測試2022/12/2961系統(tǒng)部署服務器部署存儲部署2022/12/3162系統(tǒng)部署服務器部署2022/12/2962系統(tǒng)部署系統(tǒng)部署是指將軟件系統(tǒng)和數(shù)據(jù)安裝和配置到計算機中的過程。由于目前絕大多數(shù)的應用系統(tǒng)都是基于網(wǎng)絡環(huán)境的,系統(tǒng)運行在多臺機器協(xié)同工作的環(huán)境中,各種類型的服務器和用戶的客戶機同時工作,因而,就存在著如何將系統(tǒng)軟件和應用軟件部署到這些機器上的問題。其中最主要的問題就是服務器部署和存儲部署。2022/12/3163系統(tǒng)部署系統(tǒng)部署是指將軟件系統(tǒng)和數(shù)據(jù)安裝和配置到計算機中的過服務器部署服務器是一種高性能計算機,作為網(wǎng)絡的節(jié)點,它為客戶端計算機提供各種服務,將與其相連的硬盤、磁帶、打印機及各種專用通訊設備提供給客戶站點共享,也能為網(wǎng)絡用戶提供集中計算、信息發(fā)表及數(shù)據(jù)管理等服務。它的高性能主要體現(xiàn)在高速度的運算能力、長時間的可靠運行、強大的外部數(shù)據(jù)吞吐能力等方面。2022/12/3164服務器部署服務器是一種高性能計算機,作為網(wǎng)絡的節(jié)點,它為客戶服務器部署服務器的類型按應用層次劃分的服務器按用途劃分的服務器按機箱結構來劃分的服務器2022/12/3165服務器部署服務器的類型2022/12/2965服務器部署按應用層次劃分的服務器入門級服務器工作組級服務器部門級服務器企業(yè)級服務器2022/12/3166服務器部署按應用層次劃分的服務器2022/12/2966服務器部署按用途劃分的服務器為了滿足各種特定功能,人們生產了功能型服務器,如Web、FTP、EMAIL和DNS服務器等,以滿足具體應用的要求。根據(jù)不同用途,可將服務器分為通用型和專用型服務器2022/12/3167服務器部署按用途劃分的服務器2022/12/2967服務器部署按機箱結構來劃分的服務器按服務器的機箱結構可以把服務器劃分為臺式服務器、機架式服務器,機柜式服務器和刀片式服務器四類。2022/12/3168服務器部署按機箱結構來劃分的服務器2022/12/2968服務器部署負載均衡如果應用服務中負載量非常大時,應當考慮使用負載均衡技術來將負載平均分攤到多個內部服務器上。負載均衡是由多臺服務器以對稱的方式組成一個服務器集合,每臺服務器都具有等價地位,都可以單獨對外提供服務,而無須其他服務器的輔助。通過負載分擔技術,將外部請求均勻分配到對稱結構中的某一臺服務器上,而收到請求的服務器獨立響應客戶的請求。2022/12/3169服務器部署負載均衡2022/12/2969服務器部署負載均衡(續(xù))
多個服務器同時執(zhí)行一個任務,這些服務器就構成一個集群。使用集群技術可以用最少的投資獲得接近于大型主機的性能?;贒NS的負載均衡反向代理負載均衡基于網(wǎng)絡地址轉換的負載均衡2022/12/3170服務器部署負載均衡(續(xù))2022/12/2970存儲部署數(shù)據(jù)庫管理系統(tǒng)產品OracleDB2SQLServer2022/12/3171存儲部署數(shù)據(jù)庫管理系統(tǒng)產品2022/12/2971存儲部署存儲管理
當前的很多應用系統(tǒng)都是建立在網(wǎng)絡環(huán)境下的。網(wǎng)絡環(huán)境下存儲系統(tǒng)不僅僅是簡單的存儲設備,如磁盤或磁盤陣列,網(wǎng)絡存儲系統(tǒng)是由多個網(wǎng)絡智能化的磁盤陣列和存儲控制管理系統(tǒng)構成,并具有不同的存儲模式。2022/12/3172存儲部署存儲管理2022/12/2972存儲部署目前應用中的存儲模式主要包括三種:直接連接存儲網(wǎng)絡連接存儲NAS存儲區(qū)域網(wǎng)絡SAN2022/12/3173存儲部署目前應用中的存儲模式主要包括三種:2022/12/2存儲部署直接連接存儲DAS在網(wǎng)絡存儲的概念提出之前,存儲產品是作為計算機的附屬部分,采用直接連接存儲結構將存儲設備通過SCSI接口或光纖通道直接連接到一臺計算機上。其缺點是服務器成為網(wǎng)絡瓶頸,存儲容量不易擴充;服務器發(fā)生故障時,連接在服務器上的存儲設備中的數(shù)據(jù)不能被存取。2022/12/3174存儲部署直接連接存儲DAS2022/12/2974存儲部署網(wǎng)絡連接存儲NASNAS是從傳統(tǒng)的文件服務器發(fā)展起來的一種專有系統(tǒng),它和其他節(jié)點一樣直接連接在局域網(wǎng)上,可以像網(wǎng)絡打印機一樣被其他節(jié)點共享。NAS設備包括存儲器件(如磁盤陣列RAID、CD或DVD驅動器、磁帶驅動器或可移動的存儲介質)和功能服務器。與DAS方式相比,安裝NAS來增加存儲量能大大縮短安裝時間。2022/12/3175存儲部署網(wǎng)絡連接存儲NAS2022/12/2975存儲部署存儲區(qū)域網(wǎng)絡SANSAN是一種將磁盤陣列或磁帶庫與通用服務器連接起來的高速專用網(wǎng)絡。在SAN結構中,磁盤陣列或磁帶庫作為集中化的存儲設備,可由連接在SAN上的任何服務器訪問。SAN采用了光纖接口和設備來構建,因此具有更高的帶寬,達到100MB/s。2022/12/3176存儲部署存儲區(qū)域網(wǎng)絡SAN2022/12/2976系統(tǒng)轉換系統(tǒng)轉換前的準備工作系統(tǒng)初始化系統(tǒng)轉換的方式2022/12/3177系統(tǒng)轉換系統(tǒng)轉換前的準備工作2022/12/2977系統(tǒng)轉換新系統(tǒng)通過測試以后,并不能立即投入正常運行,還存在一個新老系統(tǒng)交替問題。系統(tǒng)轉換就是指新系統(tǒng)替換老系統(tǒng),即老系統(tǒng)停止使用、新系統(tǒng)開始運行的過程。系統(tǒng)轉換的任務就是保證新、老系統(tǒng)進行平穩(wěn)而可靠地交接,使整個新系統(tǒng)能正式交付使用。2022/12/3178系統(tǒng)轉換新系統(tǒng)通過測試以后,并不能立即投入正常運行,還存在一系統(tǒng)轉換前的準備工作用戶培訓數(shù)據(jù)準備文檔移交2022/12/3179系統(tǒng)轉換前的準備工作用戶培訓2022/12/2979系統(tǒng)轉換前的準備工作用戶培訓為了使新系統(tǒng)能夠按預期目標正常運行,應對用戶進行必要的培訓。對用戶的培訓包括信息系統(tǒng)知識的普及、新制度的學習、操作訓練等。系統(tǒng)測試完成后,應建立一套詳細的系統(tǒng)使用說明文檔,供各類操作、使用人員閱讀。系統(tǒng)使用說明文檔應當使用簡明、通用的語言說明系統(tǒng)各部分應如何工作、維護和恢復。2022/12/3180系統(tǒng)轉換前的準備工作用戶培訓2022/12/2980系統(tǒng)轉換前的準備工作主要的使用說明文檔有:用戶操作手冊(使用說明書)計算機操作規(guī)程。根據(jù)具體系統(tǒng)制定程序說明書2022/12/3181系統(tǒng)轉換前的準備工作主要的使用說明文檔有:2022/12/2系統(tǒng)轉換前的準備工作數(shù)據(jù)準備數(shù)據(jù)準備是從老系統(tǒng)中整理出新系統(tǒng)運行所需的基礎數(shù)據(jù),加工成符合新系統(tǒng)要求的數(shù)據(jù),其中包括歷史數(shù)據(jù)的整理、數(shù)據(jù)口徑的調整、數(shù)據(jù)資料的格式化、分類和編碼,以及統(tǒng)計口徑的變化、個別數(shù)據(jù)及項目的增刪改等。在開發(fā)新系統(tǒng)的過程中,就應該進行數(shù)據(jù)的準備工作,按照系統(tǒng)分析和系統(tǒng)設計、數(shù)據(jù)字典等為指導,根據(jù)手工管理的資料,組織和整理所需的原始數(shù)據(jù)。此外,還要將數(shù)據(jù)采集、輸入過程加以規(guī)范化,以確保新系統(tǒng)運行有穩(wěn)定可靠的數(shù)據(jù)來源。2022/12/3182系統(tǒng)轉換前的準備工作數(shù)據(jù)準備2022/12/2982系統(tǒng)轉換前的準備工作文檔移交對在開發(fā)過程中形成的所有文檔資料,如可行性研究報告、系統(tǒng)分析說明書、系統(tǒng)設計說明書、程序設計說明書、系統(tǒng)測試說明書、系統(tǒng)使用說明書等,要由開發(fā)者移交給用戶,由用戶單位妥善保管,以便在系統(tǒng)運行過程中隨時查詢使用。2022/12/3183系統(tǒng)轉換前的準備工作文檔移交2022/12/2983系統(tǒng)初始化系統(tǒng)從開發(fā)完成到投入應用必須經過一個初始化過程。初始化包括對系統(tǒng)運行環(huán)境和資源的設置、系統(tǒng)運行和控制參數(shù)的設定、數(shù)據(jù)加載以及調整系統(tǒng)與業(yè)務工作同步等內容。其中數(shù)據(jù)加載是工作量最大且時間最緊迫的一個重要環(huán)節(jié),因為經整理的大量基礎數(shù)據(jù)需一次性輸入系統(tǒng),而企業(yè)生產經營活動又不斷產生新的信息,如果不能在有限時間內將數(shù)據(jù)輸入完畢并啟動系統(tǒng),則新的數(shù)據(jù)變化會造成系統(tǒng)中的數(shù)據(jù)失效。2022/12/3184系統(tǒng)初始化系統(tǒng)從開發(fā)完成到投入應用必須經過一個初始化過程。初系統(tǒng)轉換的方式為了保證原有系統(tǒng)有條不紊的、順利轉移到新系統(tǒng),在系統(tǒng)轉換前應仔細擬定方案和措施,確定具體的步驟。系統(tǒng)的轉換方式通常有四種:直接轉換平行轉換試點后直接轉換逐步轉換2022/12/3185系統(tǒng)轉換的方式為了保證原有系統(tǒng)有條不紊的、順利轉移到新系統(tǒng),系統(tǒng)轉換的方式直接轉換直接轉換是在確定新系統(tǒng)運行無誤后,用新系統(tǒng)直接替換老系統(tǒng),終止老系統(tǒng)運行,中間沒有過渡階段。這種方式節(jié)省人員和設備費用,但風險大,很有可能出現(xiàn)意想不到的問題。因此,這種方式不能用于重要的系統(tǒng)。即使用于不大重要的系統(tǒng),也應采用適當?shù)拇胧?,當新系統(tǒng)不能正常運行時,可立即啟動原系統(tǒng)。2022/12/3186系統(tǒng)轉換的方式直接轉換2022/12/2986系統(tǒng)轉換的方式平行轉換
平行轉換安排了一段新、老系統(tǒng)平行運行的時期。平行運行時間視業(yè)務內容及系統(tǒng)運行狀況而定,直到新系統(tǒng)正常運行有保證時,才停止舊系統(tǒng)運行。其優(yōu)點是可以進行兩系統(tǒng)的對比,發(fā)現(xiàn)和改正新系統(tǒng)的問題,風險小,安全,可靠;缺點是耗費人力和設備。
2022/12/3187系統(tǒng)轉換的方式平行轉換2022/12/2987系統(tǒng)轉換的方式試點后直接轉換某些系統(tǒng)有一些相同部分,例如系統(tǒng)中包括有多個銷售點、多個倉庫等。轉換時先選擇一個銷售點或倉庫作試點,試點成功后,其他部分可同時直接轉換。這種方式風險較小,試點的部分可用來示范和培訓其他部分的工作人員。
2022/12/3188系統(tǒng)轉換的方式試點后直接轉換2022/12/2988系統(tǒng)轉換的方式逐步轉換逐步轉換是分期分批地進行轉換。既避免了直接轉換的風險性,又避免了平行轉換時費用大的問題。但是,由于新老系統(tǒng)混合運行,需要很好地處理它們的接口。在系統(tǒng)轉換過程中,要根據(jù)出現(xiàn)的問題進行修改、調試,因此它也是新系統(tǒng)不斷完善的過程。2022/12/3189系統(tǒng)轉換的方式逐步轉換2022/12/2989系統(tǒng)運行與維護系統(tǒng)運行系統(tǒng)維護2022/12/3190系統(tǒng)運行與維護系統(tǒng)運行2022/12/2990系統(tǒng)運行與維護系統(tǒng)維護是指為了應付信息系統(tǒng)的環(huán)境和其他因素的各種變化,保證系統(tǒng)正常運行采取的一切活動,包括改善系統(tǒng)功能、解決系統(tǒng)運行期間發(fā)生的問題。維護工作是管理信息系統(tǒng)生命周期中花錢最多、延續(xù)時間最長、開發(fā)人員最出力不討好的活動。現(xiàn)在軟件的維護費用已經遠遠超過了系統(tǒng)的軟件開發(fā)費用。2022/12/3191系統(tǒng)運行與維護系統(tǒng)維護是指為了應付信息系統(tǒng)的環(huán)境和其他因素的系統(tǒng)運行系統(tǒng)運行包括系統(tǒng)的日常操作和維護等。開發(fā)的思想只有在運行中才能得到檢驗,而運行中發(fā)現(xiàn)的問題也是新的開發(fā)思想的源泉。很多系統(tǒng)都是經過多次的開發(fā)、運行、再開發(fā)、再運行的循環(huán)不斷提高的。2022/12/3192系統(tǒng)運行系統(tǒng)運行包括系統(tǒng)的日常操作和維護等。開發(fā)的思想只有在系統(tǒng)運行為保證信息系統(tǒng)的正常運行,應建立一整套運行管理制度。除進一步加強和規(guī)范原有規(guī)章制度外,還必須結合新情況,制定相應的規(guī)章和制度:系統(tǒng)操作員操作制度系統(tǒng)機房管理制度文檔管理制度2022/12/3193系統(tǒng)運行為保證信息系統(tǒng)的正常運行,應建立一整套運行管理制度。系統(tǒng)維護系統(tǒng)維護是系統(tǒng)生命周期的最后一項活動。系統(tǒng)維護的目的是保證系統(tǒng)正常而可靠的運行,并隨著環(huán)境的變化,不斷改善和提高,始終處于正確的工作狀態(tài)。系統(tǒng)維護是面向系統(tǒng)中各組成要素的。按照維護對象的不同,系統(tǒng)維護涉及應用系統(tǒng)維護、數(shù)據(jù)維護、代碼維護和硬件設備維護等方面。2022/12/3194系統(tǒng)維護系統(tǒng)維護是系統(tǒng)生命周期的最后一項活動。系統(tǒng)維護的目的系統(tǒng)維護系統(tǒng)維護的類型改正性維護適應性維護完善性維護預防性維護2022/12/3195系統(tǒng)維護系統(tǒng)維護的類型2022/12/2995系統(tǒng)維護系統(tǒng)維護的內容程序維護數(shù)據(jù)維護代碼維護設備維護2022/12/3196系統(tǒng)維護系統(tǒng)維護的內容2022/12/2996第九章系統(tǒng)實施與運行維護系統(tǒng)實施的任務及管理編碼與開發(fā)環(huán)境開放源碼軟件系統(tǒng)測試系統(tǒng)部署系統(tǒng)轉換系統(tǒng)運行與維護2022/12/3197第九章系統(tǒng)實施與運行維護系統(tǒng)實施的任務及管理2022/1系統(tǒng)實施的任務及管理系統(tǒng)實施的任務軟件能力成熟度模型與開發(fā)管理2022/12/3198系統(tǒng)實施的任務及管理系統(tǒng)實施的任務2022/12/292系統(tǒng)實施的任務實施是建立、測試和安裝最后系的階段。該階段的目標不僅要有一個可靠的信息系統(tǒng),而且要確保培訓所有的用戶并使業(yè)務受益。具體包括購置計算機硬件、系統(tǒng)軟件,并安裝調試;程序編碼、程序及系統(tǒng)的調試;用戶培訓、編寫各種文檔等。2022/12/3199系統(tǒng)實施的任務實施是建立、測試和安裝最后系的階段。該階段的目系統(tǒng)實施的任務程序編碼組織與實施
信息系統(tǒng)通常由多個程序員分工協(xié)作完成的,程序員需要按標準的規(guī)定進行編碼,從而保證接口信息通信和數(shù)據(jù)傳遞的一致性。因此程序編碼的管理問題十分重要,這樣才能得到高質量的程序。在程序編碼組織與實施中,首先應選擇適用的程序設計方法、編程語言和開發(fā)平臺;然后,建立程序開發(fā)過程中團隊的協(xié)同機制,以保證開發(fā)的順利進行。2022/12/31100系統(tǒng)實施的任務程序編碼組織與實施2022/12/294系統(tǒng)實施的任務質量保證與控制質量保證計劃明確項目的質量目標,盡量將目標具體或定量化,并建立項目質量控制的措施。這些措施包括:確定要進行的測試、驗證和確認活動的類型,要執(zhí)行的詳細測試、驗證和確認活動計劃,包括時間進度、資源和批準權力等;明確質量活動的具體職責,以及項目規(guī)定使用的標準、慣例和約定等。此外,還要規(guī)定對分承包方的控制方法、配置管理和更改控制;還要考慮在系統(tǒng)生存周期內軟件產品的備份與恢復。2022/12/31101系統(tǒng)實施的任務質量保證與控制2022/12/295系統(tǒng)實施的任務原始數(shù)據(jù)的建立數(shù)據(jù)是信息系統(tǒng)操作的實際對象。在系統(tǒng)分析設計階段對支持系統(tǒng)運行的數(shù)據(jù)進行了整體規(guī)劃,并得到相應的數(shù)據(jù)模式。在系統(tǒng)實施階段就要根據(jù)所選擇的數(shù)據(jù)庫管理系統(tǒng)的技術條件來實現(xiàn)相關的設計,數(shù)據(jù)庫的實施質量在很大程度上影響整個信息系統(tǒng)的質量。因此,在實施中數(shù)據(jù)庫開發(fā)人員應熟練掌握相應數(shù)據(jù)庫管理系統(tǒng)的功能、性能以及開發(fā)工具的使用,充分發(fā)揮相應系統(tǒng)的潛能,使系統(tǒng)達到良好的設計效果。2022/12/31102系統(tǒng)實施的任務原始數(shù)據(jù)的建立2022/12/296系統(tǒng)實施的任務組織系統(tǒng)測試測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,測試活動的另一主要目的是要分析錯誤產生的原因和錯誤的分布特征,以便幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助系統(tǒng)開發(fā)人員設計出有針對性地檢測方法,改善測試的有效性。系統(tǒng)測試的目的決定了如何去組織測試。2022/12/31103系統(tǒng)實施的任務組織系統(tǒng)測試2022/12/297系統(tǒng)實施的任務項目管理與實施進度控制
制定系統(tǒng)實施進度有兩種途徑:一是開發(fā)小組根據(jù)系統(tǒng)開發(fā)的最后期限從后往前安排時間;二是開發(fā)小組根據(jù)項目和資源情況制定初步計劃和交付日期。一般情況下,系統(tǒng)開發(fā)人員希望按照第二種方式安排工作進度,而用戶則會要求采用第一種方式。
2022/12/31104系統(tǒng)實施的任務項目管理與實施進度控制2022/12/298系統(tǒng)實施的任務項目管理與實施進度控制人力資源的分配任務分解與并行化工作量分布進度的安排方法2022/12/31105系統(tǒng)實施的任務項目管理與實施進度控制2022/12/299軟件能力成熟度模型與開發(fā)管理
軟件能力成熟度的含義與作用軟件能力成熟度模型(CapabilityMaturityModelforSoftware,CMM)是對開發(fā)者軟件過程能力的描述,其核心是把軟件開發(fā)視為一個過程,對軟件開發(fā)過程進行監(jiān)控,使其更加科學和標準。它的側重點在于軟件過程開發(fā)的管理及軟件工程能力的改進與評估。
2022/12/31106軟件能力成熟度模型與開發(fā)管理
軟件能力成熟度的含義與作用20軟件能力成熟度模型與開發(fā)管理
CMM的結構:為軟件企業(yè)的過程能力提供了一個階梯式的進化框架,框架共有五級。初始級(Initial)可重復級(Repeatable)定義級(Defined)管理級(Managed)優(yōu)化級(Optimizing)
2022/12/31107軟件能力成熟度模型與開發(fā)管理
CMM的結構:為軟件企業(yè)的過程軟件能力成熟度模型與開發(fā)管理
關鍵過程域在CMM中,第1級除外,每個成熟度等級規(guī)定了不同的關鍵過程域(KPA),關鍵過程域是一系列相互關聯(lián)的活動,這些活動反映了軟件組織改進過程時應改進的方面,即達到某個成熟度等級時所必須滿足的條件。CMM共有18個關鍵過程域,分布在2至5級中。2022/12/31108軟件能力成熟度模型與開發(fā)管理
關鍵過程域2022/12/29編碼與開發(fā)環(huán)境程序設計語言集成開發(fā)環(huán)境極限編程正向工程和逆向工程2022/12/31109編碼與開發(fā)環(huán)境程序設計語言2022/12/2913程序設計語言程序設計語言的發(fā)展機器語言匯編語言高級語言(第三代語言)非過程化的第四代語言2022/12/31110程序設計語言程序設計語言的發(fā)展2022/12/2914程序設計語言幾種主流的程序設計語言C/C++JavaC#Pascal/Delphi2022/12/31111程序設計語言幾種主流的程序設計語言2022/12/2915集成開發(fā)環(huán)境開發(fā)環(huán)境的作用集成開發(fā)環(huán)境(IntegratedDevelopingEnvironment,IDE)是一個綜合性的工具軟件,它把程序設計過程中所需的各項功能集合在一起,為程序設計人員提供完整的開發(fā)支持,其應用范圍在“開發(fā)、構建和調試”周期中,為開發(fā)人員提供代碼編輯、組裝、編譯、連接、調試和版本管理等工作。2022/12/31112集成開發(fā)環(huán)境開發(fā)環(huán)境的作用2022/12/2916集成開發(fā)環(huán)境Eclipse開發(fā)環(huán)境EclipseCVSAntJUnit2022/12/31113集成開發(fā)環(huán)境Eclipse開發(fā)環(huán)境2022/12/2917極限編程敏捷軟件開發(fā)傳統(tǒng)的重量級方法追求嚴謹?shù)奈臋n,希望以詳細的計劃和標準化來規(guī)范軟件生產過程,強調以開發(fā)過程為中心。敏捷開發(fā)過程注重開發(fā)團隊和成員之間的關系,而不以開發(fā)的進程和使用的工具為重點,注重軟件產品而不是文檔編制;注重開發(fā)中與客戶的協(xié)同,而不以簽訂合同為核心;注重在開發(fā)過程中隨時調整計劃,而不是完全遵循某一開發(fā)計劃。2022/12/31114極限編程敏捷軟件開發(fā)2022/12/2918極限編程極限編程
極限編程是一種近似螺旋式的開發(fā)方法,它將復雜的開發(fā)過程分解為一個個相對簡單的更小周期。通過交流、反饋以及其它方法,開發(fā)人員和客戶可以非常清楚開發(fā)進度、變化、待解決的問題和潛在的困難等,并根據(jù)實際情況及時地調整開發(fā)過程。
極限編程的主要目標是降低變化的成本。
2022/12/31115極限編程極限編程2022/12/2919極限編程XP的核心實踐
規(guī)劃策略持續(xù)集成結對編程現(xiàn)場客戶測試小型發(fā)布重構每周40小時工作制簡單設計編碼規(guī)范代碼集體所有系統(tǒng)隱喻2022/12/31116極限編程XP的核心實踐規(guī)劃策略持續(xù)集成結對編程現(xiàn)場客戶測試正向工程和逆向工程正向工程和逆向工程的概念
正向工程是指從模型得到代碼的過程。利用一定的開發(fā)工具,設計者可以通過正向工程從模型生成代碼框架,從而減少了開發(fā)者用于編寫類、屬性、方法代碼等瑣碎工作的時間。
逆向工程與正向工程的方向剛好相反,它將代碼轉換成設計模型。在只有源代碼,而沒有設計文檔的情況下,通過逆向工程得到設計模型。從而了解以前某個軟件的設計。逆向工程也可以用于對代碼和模型進行同步。2022/12/31117正向工程和逆向工程正向工程和逆向工程的概念2022/12/正向工程和逆向工程正向工程和逆向工程結合在一起,就形成了雙向工程。雙向工程實現(xiàn)了在系統(tǒng)設計描述和代碼框架之間的雙向交換。很多開發(fā)工具支持主流建模方法與開發(fā)語言間的雙向工程,2022/12/31118正向工程和逆向工程正向工程和逆向工程結合在一起,就形成了雙向正向工程和逆向工程RationalRose中的Java代碼生成設置RationalRose中的Java代碼生成過程2022/12/31119正向工程和逆向工程RationalRose中的Java代碼開放源碼什么是開放源碼軟件開放源碼軟件的特點LAMPstack開源解決方案2022/12/31120開放源碼什么是開放源碼軟件2022/12/2924什么是開放源碼軟件開放源碼軟件的概念
開放源碼軟件(OpenSourceSoftware,OSS)的概念由開放源碼促進會(OpenSourceInitiative,OSI)所定義,是指其全部源碼程序對任何人都是公開的,并允許任何人免費(或少許收費)獲取、使用、復制、修改及發(fā)布的軟件。
開放源碼軟件從自由軟件(FreeSoftware)發(fā)展而來。
2022/12/31121什么是開放源碼軟件開放源碼軟件的概念2022/12/292什么是開放源碼軟件開放源碼軟件的原則允許自由再分發(fā)必須包括源代碼允許修改原作品并產生衍生作品必須保持作者源代碼的完整性不得歧視任何個人和團體2022/12/31122什么是開放源碼軟件開放源碼軟件的原則2022/12/292什么是開放源碼軟件開放源碼軟件的原則(續(xù))不得對特定領域有差別限制條款對衍生產品自動適用授權條款不得附屬于其它產品之下授權條款不得對隨同分發(fā)的其它軟件做出限制分發(fā)渠道必須保持技術中立性2022/12/31123什么是開放源碼軟件開放源碼軟件的原則(續(xù))2022/12/開放源碼軟件的特點開放源碼軟件的優(yōu)點有助于改善代碼質量價格優(yōu)勢有助于快速修改錯誤多個開發(fā)商2022/12/31124開放源碼軟件的特點開放源碼軟件的優(yōu)點2022/12/292開放源碼軟件的特點開放源碼軟件的缺點
由于任何人都可以自由參與開源軟件的開發(fā),也可以將自己編制的軟件供別人共享,因而軟件的版本管理、質量保證、錯誤跟蹤和修正等都存在問題。同時,在不了解知識產權的情況下,源代碼的開放可能會引起侵權行為。開源軟件面臨著資金保證的問題,沒有資金,軟件的開發(fā)也只能處于停滯狀態(tài)。開放源碼軟件的開發(fā)主要應用于科學研究,軟件的使用者大多是科研人員。因此,軟件的使用可能不具備普及性。另外,開放源碼的測試、整理與推廣也是值得思考的問題。2022/12/31125開放源碼軟件的特點開放源碼軟件的缺點2022/12/292LAMPstack開源解決方案隨著開放源碼應用的發(fā)展,在軟件開發(fā)中出現(xiàn)了LAMPstack開源解決方案,作為一種應用開發(fā)程序和開發(fā)環(huán)境,它功能強大,使用簡單。LAMP是這個開發(fā)環(huán)境中四個組件的縮寫:L指的是Linux操作系統(tǒng);A指的是Apacheweb服務器;M指的是MySQL開源數(shù)據(jù)庫;P則是PHP、Perl或Python腳本語言。這四種開源技術結合在一起便組成了一個應用服務平臺。2022/12/31126LAMPstack開源解決方案隨著開放源碼應用的發(fā)展,在軟LAMPstack開源解決方案Linux操作系統(tǒng)
作為一種操作系統(tǒng),Linux是自由軟件和開放源碼中最著名的例子。嚴格地說,Linux只是一個操作系統(tǒng)的內核,由LinusTorvalds在1991年開始編寫。期間,RichardStallman創(chuàng)建了GNU組織?;贚inux的內核,許多個人、組織和企業(yè)發(fā)行了不同的Linux版本。其中比較著名的有Redhat、Mandriva、SUSE、Debian和Ubuntu等。2022/12/31127LAMPstack開源解決方案Linux操作系統(tǒng)2022LAMPstack開源解決方案Apache服務器Apache是著名的開源組織Apache軟件基金會(ApacheSoftwareFoundation,ASF)的產品。從1995年誕生至今,Apache以其超強的穩(wěn)定性、可配置性、豐富的擴展性和堅實的安全性,成為互聯(lián)網(wǎng)中流行的Web服務器,可以運行在幾乎所有的計算機平臺上。
2022/12/31128LAMPstack開源解決方案Apache服務器2022/LAMPstack開源解決方案MySQL數(shù)據(jù)庫系統(tǒng)
MySQL是由MySQLAB公司開發(fā),以強調檢索速度而著稱。MySQL提供了非常豐富的應用程序接口,能夠很好的支持Java/JDBC、PHP、PerlDBI及Python等。除了命令行的數(shù)據(jù)庫管理工具之外,通過開放源碼的phpMyAdmin和phpPgAdmin還可以為MySQL提供基于Web的數(shù)據(jù)管理界面,方便了開發(fā)人員的工作。2022/12/31129LAMPstack開源解決方案MySQL數(shù)據(jù)庫系統(tǒng)202LAMPstack開源解決方案開放源碼語言LAMPstack中使用的開源語言Perl、Python和PHP都是“解釋運行的”語言。由于解釋運行而不是編譯,這些語言能夠很快部署并很容易使用,也加快了開發(fā)時間。這些語言都提供了豐富的環(huán)境,能夠執(zhí)行復雜任務,并為開發(fā)人員提供了擴展功能的接口。2022/12/31130LAMPstack開源解決方案開放源碼語言2022/12軟件系統(tǒng)測試測試的目的與任務測試模型與過程測試的方法軟件測試活動2022/12/31131軟件系統(tǒng)測試測試的目的與任務2022/12/2935軟件系統(tǒng)測試軟件測試是對軟件設計和編碼總的復審,是發(fā)現(xiàn)軟件中錯誤和缺陷的手段,是軟件質量保證的重要環(huán)節(jié)。在軟件開發(fā)中,軟件測試工作通常要占總工作量的40%~50%以上。軟件測試根據(jù)開發(fā)各階段的規(guī)格說明和程序的內部結構設計測試用例(即輸入數(shù)據(jù)及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤。2022/12/31132軟件系統(tǒng)測試軟件測試是對軟件設計和編碼總的復審,是發(fā)現(xiàn)軟件中測試的目的與任務軟件測試的目的是用最小的代價找出軟件中潛在的錯誤和缺陷。測試的目的并不是證明軟件中沒有錯誤,而是找出軟件中的錯誤。沒有發(fā)現(xiàn)錯誤的測試不是成功的測試。測試具有不徹底性,人們必須研究如何設汁測試用例,以期用較少的測試用例,覆蓋盡可能多的需測試的可能。2022/12/31133測試的目的與任務軟件測試的目的是用最小的代價找出軟件中潛在的測試的目的與任務在測試中要特別注意以下幾點盡早地和不斷地進行測試制定嚴格的測試計劃完全測試程序是不可能的,但是要盡量全面地測試認真設計測試用例2022/12/31134測試的目的與任務在測試中要特別注意以下幾點2022/12/2測試的目的與任務在測試中要特別注意以下幾點(續(xù))避免檢查自己的程序發(fā)現(xiàn)的錯誤越多,說明潛在的錯誤越多正確對待測試的結果妥善保存相關文檔2022/12/31135測試的目的與任務在測試中要特別注意以下幾點(續(xù))2022/1測試模型與過程V模型V模型形象地描述了各階段的活動呈“V”字型排列,說明了這些測試級別和開發(fā)過程各個階段的對應關系,同時也有確認(Validation)、驗證(Verification)的意思。V模型左邊是開發(fā)過程各階段,右邊是測試過程的各個階段。開發(fā)階段從定義業(yè)務需求開始,然后要把這些需求不斷地轉換到概要設計和詳細設計中去,最后開發(fā)成為程序代碼。在測試階段,先從單元測試開始,然后是集成測試、系統(tǒng)測試和驗收測試。2022/12/31136測試模型與過程V模型2022/12/2940測試模型與過程V模型2022/12/31137測試模型與過程V模型2022/12/2941測試模型與過程單元測試:檢測最小的軟件設計單元模塊是否符合詳細設計的要求,是否存在編碼錯誤等,確保產生符合要求的、可靠的程序單元。集成測試:檢測各個模塊是否能夠完好地結合到一起,是否在接口等方面存在錯誤等。確保各個模塊以正確、穩(wěn)定和一致的方式交互。系統(tǒng)測試:檢測已集成在一起的產品是否符合系統(tǒng)規(guī)格說明書的要求。系統(tǒng)測試驗證系統(tǒng)的功能和結構的穩(wěn)定性,以及性能和可靠性等非功能性需求。驗收測試:檢測產品是否符合最終用戶的業(yè)務需求,并在正式交付用戶使用之前確保系統(tǒng)工作正常而且可用2022/12/31138測試模型與過程單元測試:檢測最小的軟件設計單元模塊是否符合詳測試模型與過程W模型
W模型由兩個V模型組成,其中一個V表示開發(fā)過程,另一個V表示測試過程。
在W模型中,測試伴隨著整個開發(fā)周期,測試的對象也不僅僅是程序。需求、功能和設計同樣要測試。由于測試與開發(fā)是同步進行的,W模型更有利于盡早發(fā)現(xiàn)問題。
2022/12/31139測試模型與過程W模型2022/12/2943測試模型與過程W模型2022/12/31140測試模型與過程W模型2022/12/2944測試模型與過程X模型X模型針對單獨的程序片段進行相互分離的編碼和測試,此后通過頻繁的交接,集成可執(zhí)行的程序。X模型還可進行探索性測試,即不進行事先計劃的特殊類型的測試,這種測試往往能在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。
2022/12/31141測試模型與過程X模型2022/12/2945測試模型與過程X模型2022/12/31142測試模型與過程X模型2022/12/2946測試模型與過程Alpha、Beta和Gamma測試
在正式發(fā)布前,大型通用軟件通常要執(zhí)行Alpha和Beta測試,目的是從實際終端用戶的使用角度,對軟件的功能和性能進行測試,以發(fā)現(xiàn)可能只有最終用戶才能發(fā)現(xiàn)的錯誤。Alpha測試是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內部的用戶在模擬實際操作環(huán)境下進行的受控測試,它尤其注重產品的界面和特色。Alpha測試不能由程序員或測試員完成。2022/12/31143測試模型與過程Alpha、Beta和Gamma測試2022/測試模型與過程Alpha、Beta和Gamma測試(續(xù))Beta測試是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。因而,Beta測試是在開發(fā)者無法控制的環(huán)境下進行的軟件現(xiàn)場應用。在Beta測試中,由用戶記下遇到的所有問題。Beta測試著重于產品的支持性,包括文檔、客戶培訓和支持產品的生產能力。只有當Alpha測試達到一定的可靠程度后,才能開始Beta測試。Gamma測試是對“存在缺陷”產品的測試。2022/12/31144測試模型與過程Alpha、Beta和Gamma測試(續(xù))20測試的方法黑盒測試又稱為功能測試或數(shù)據(jù)驅動測試。是在已知系統(tǒng)應具有的功能,通過測試來檢測每個功能是否正常。測試時把程序看作一個黑盆子,不考慮程序內部結構和特性,對程序接口進行測試。黑盒測試方法主要有等價類劃分方法、邊界值分析方法、錯誤推測方法、因果圖方法、判定表驅動分析方法、正交實驗設計方法和功能圖分析方法。2022/12/31145測試的方法黑盒測試2022/12/2949測試的方法白盒測試又稱邏輯驅動測試或結構測試。是把測試對象看作一個打開的盒子,需要考察軟件產品的內部結構和處理過程。它通過測試來檢測內部動作是否符合規(guī)格說明,主要用于軟件驗證。白盒測試的方法分為靜態(tài)方法和動態(tài)方法兩類。白盒測試關注的是測試用例執(zhí)行的程度覆蓋程序邏輯結構的程度。2022/12/31146測試的方法白盒測試2022/12/2950測試的方法測試用例測試用例是為某個特殊目標而編制的一組測試輸入、執(zhí)行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。由于每個測試用例反映不同的場景、條件或經由產品的事件流,因而,隨著測試用例數(shù)量的增加,測試也就越深入和全面。一般每個測試需求至少編制兩個測試用例:正面測試用例和負面測試用例2022/12/31147測試的方法測試用例2022/12/2951測試的方法測試腳本
測試腳本是實現(xiàn)軟件測試自動化設計的重要部分,使用不同的腳本技術可以減少腳本的大小、數(shù)量及復雜度,每個腳本技術都有其不同的適用場合。應根據(jù)所要實現(xiàn)的測試方法體系,綜合腳本技術,以較理想的方法實現(xiàn)測試用例。2022/12/31148測試的方法測試腳本2022/12/2952測試的方法測試場景
場景是軟件系統(tǒng)中事件觸發(fā)時的情景,同一事件不同的觸發(fā)順序和處理結果形成事件流。在軟件測試中,描繪出事件觸發(fā)時的情景,有利于設計測試用例,也有利于更容易地理解和執(zhí)行測試用例。2022/12/31149測試的方法測試場景2022/12/2953軟件測試活動回歸測試回歸測試是對程序進行修改之后的測試,其目的是判斷程序修改是否達到了預期目標,并檢查修改是否引起了程序其他方面的退步。在項目開發(fā)中,測試組會將測試用例保存到“測試用例庫”中,并對其進行維護和管理。當?shù)玫揭粋€軟件的基線版本時,用于基線版本的所有測試用例就形成了基線測試用例庫。當需要進行回歸測試時,可以根據(jù)所選擇的回歸測試策略,從基線測試用例庫中提取合適的測試用例組成回歸測試包,通過運行回歸測試包來實現(xiàn)回歸測試。2022/12/31150軟件測試活動回歸測試2022/12/2954軟件測試活動性能測試性能測試是檢驗系統(tǒng)或系統(tǒng)部件是否達到規(guī)定的性能指標,是否滿足一些性能相關的約束和限制條件,例如在特定負載和配置環(huán)境下程序的響應時間和吞吐率。性能測試通常在系統(tǒng)測試階段執(zhí)行,常常與強度測試結合起來,一般需要使用測試工具。評估測試對象的性能側重于獲取與行為相關的數(shù)據(jù),如響應時間、計時配置文件、執(zhí)行流、操作可靠性和限制。2022/12/31151軟件測試活動性能測試2022/12/2955軟件測試活動壓力測試
壓力測試評價一個系統(tǒng)可以承受的壓力極限,以及超負荷時的響應情況。通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務級別。例如測試在大負荷量下,一個Web站點何時響應退化或失敗。在極限測試狀況下,理想的系統(tǒng)可能會響應不及時,但不應宕機,并應在負荷正常后一段時間內恢復正常運行。2022/12/31152軟件測試活動壓力測試2022/12/2956軟件測試活動安全測試安全測試檢查系統(tǒng)對非法侵入的防范能力,主要是測試系統(tǒng)在沒有授權的內部或者外部用戶對系統(tǒng)進行攻擊或者惡意破壞時如何進行處理,是否仍能保證數(shù)據(jù)的安全。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。從理論上講,只要有足夠的時間和資源,沒有不可進入的系統(tǒng)。因此,系統(tǒng)安全設計的準則是,使非法侵入的代價超過被保護信息的價值。這樣非法入侵者就無利可圖。2022/12/31153軟件測試活動安全測試2022/12/2957軟件測試活動安裝測試
安裝測試檢驗軟件是否可以正確安裝,安裝文件的各項設置是否有效,安裝后能否影響原系統(tǒng);卸載測試是逆過程,測試是否刪除干凈,是否會影響原系統(tǒng)等。2022/12/31154軟件測試活動安裝測試2022/12/2958軟件測試活動可用性測試可用性測試是對“用戶友好性”的測試。可采用用戶面談、調查、用戶對話的錄像和其他一些技術。程序員和測試員通常都不宜做可用性測試員。2022/12/31155軟件測試活動可用性測試2022/12/2959軟件測試活動穩(wěn)定性測試
穩(wěn)定性測試模擬系統(tǒng)高峰期使用人數(shù)、各事務操作頻率等,設計綜合測試場景,將每個場景按照一定人數(shù)比率同時運行,并模擬用戶使用數(shù)年的情況。監(jiān)控測試中系統(tǒng)各性能指標是否能保持正常。事務響應時間是否會出現(xiàn)波動或隨測試時間增漲而增加。系統(tǒng)是否會在測試期間內發(fā)生如宕機、應用中止等異常情況。2022/12/31156軟件測試活動穩(wěn)定性測試2022/12/2960軟件測試活動易用性測試易用性測試面向軟件系統(tǒng)的易用性的問題。通常從用戶的角度來考慮,主要是用界面測試,包括符合標準規(guī)范、界面直觀、是否與用戶已經熟練的操作方式一致、靈活、舒適、正確及實用等方面。2022/12/31157軟件測試活動易用性測試2022/12/2961系統(tǒng)部署服務器部署存儲部署2022/12/31158系統(tǒng)部署服務器部署2022/12/2962系統(tǒng)部署系統(tǒng)部署是指將軟件系統(tǒng)和數(shù)據(jù)安裝和配置到計算機中的過程。由于目前絕大多數(shù)的應用系統(tǒng)都是基于網(wǎng)絡環(huán)境的,系統(tǒng)運行在多臺機器協(xié)同工作的環(huán)境中,各種類型的服務器和用戶的客戶機同時工作,因而,就存在著如何將系統(tǒng)軟件和應用軟件部署到這些機器上的問題。其中最主要的問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45243-2025保健食品中硫胺素、核黃素、吡哆醇、煙酸、煙酰胺和咖啡因的測定
- 【正版授權】 IEC 60335-2-78:2021/AMD1:2025 EN-FR Amendment 1 - Household and similar electrical appliances - Safety - Part 2-78: Particular requirements for outdoor barbecues
- 勞動合同簡易
- 路燈買賣合同協(xié)議書
- 教育培訓機構場地租賃合同
- 地下室出租協(xié)議書
- 施工工程承包合同
- 企業(yè)運輸合同個人運輸合同
- 經銷商銷售合同協(xié)議
- 鐵路貨物的運輸合同
- 綜采工作面自動化控制系統(tǒng)培訓課件2024
- 充電器電路安裝與調試
- 分布式光伏高處作業(yè)專項施工方案
- 《冠心病的介入治療》課件
- 浙江省建設工程錢江杯獎(工程)評審細則
- 膀胱損傷病人護理課件
- 中醫(yī)防感冒健康知識講座
- 《土壤與土壤改良》課件
- ISO9001ISO14001ISO45001外部審核資料清單
- 張岱年:《中國文化概論》
- 繪本成語故事:四面楚歌
評論
0/150
提交評論