欧美人与禽2O2O性论交,秋霞免费视频,国产美女视频免费观看网址,国产成人亚洲综合网色欲网

軟件開發(fā)流程和關鍵質量控制點(軟件開發(fā)流程和關鍵質量控制點的區(qū)別)

軟件開發(fā)(系統(tǒng)開發(fā))的質量管理與硬件的開發(fā)管理完全不同。

原因在于,不可能像硬件產品那樣,在客戶手中檢查已完成軟件的質量。 軟件的質量只能通過觀察軟件在計算機中的運行情況或通過編程語言編寫的源代碼來檢查。

本文介紹了軟件開發(fā)的基礎知識以及各開發(fā)階段的品質管理控制要點。

1.1軟件開發(fā)的種類和方法

軟件開發(fā)主要有兩種方法。

一種是瀑布式(Waterfall)開發(fā)手法。 另一種是敏捷型(Agile)。

具體的開發(fā)方法進一步區(qū)分說明。

1)Waterfall型開發(fā)手法

軟件開發(fā)流程和關鍵質量控制點(軟件開發(fā)流程和關鍵質量控制點的區(qū)別)

  • 需求定義:是指在開始軟件開發(fā)等項目之前,以易于理解的方式將必要的功能和需求整合在一起的過程。
  • 設計:在確定軟件必要的功能和要求后,確定軟件的行為和詳細功能,并將其寫入文檔。
  • 實施:為了實現(xiàn)設計所定下的軟件動作或功能,實際上進行的編程動作。 在這個過程中,程序員使用編程語言編寫源代碼。
  • 測試:這是檢查所開發(fā)的程序是否能順利運行,是否存在缺陷(Bug)的過程。 如果發(fā)現(xiàn)缺陷,則予以糾正。
  • 發(fā)行:這是將開發(fā)好的軟件提供給客戶的過程。 在這一階段,客戶可以自己操作軟件。

所謂瀑布型,是因為開發(fā)是“瀑布的水從上到下依次前進”而得名。在軟件開發(fā)之初,將客戶的要求規(guī)格匯總,然后按照設計、實施的順序進行。最后實施各種確認測試并發(fā)布軟件。(參照圖1)

這種方法是軟件的主流開發(fā)方法,從大型項目開發(fā)到小規(guī)模系統(tǒng),在很多情況下都被使用。

詢問客戶的要求和規(guī)格,將其整理成軟件系統(tǒng),整理成一份文件(“要求定義書”)。

《瀑布式的特點》

瀑布型有以下優(yōu)缺點:

  • 基于 "需求定義文件"(有時也稱為 "系統(tǒng)設計文件"),可以開發(fā)設計文檔("基本設計文件"或 "詳細設計文件"),以確定軟件的行為和功能。
  • 在設計文檔的基礎上,可以創(chuàng)建程序并進行運行測試。
  • 由于軟件規(guī)格在一開始就已確定,因此質量、交付和成本更易于管理。
  • 但缺點是,如果在這一過程中對規(guī)格進行修改,工時("工時 x 天")將大幅增加,因為這涉及到大量的設計和程序修改。

在實踐中的一個具體例子是,這種方法通常用于保證可靠性的大型系統(tǒng)和開發(fā)(如銀行系統(tǒng)、運輸系統(tǒng)等)。

(2) 敏捷型(Agile)開發(fā)方法。

軟件開發(fā)流程和關鍵質量控制點(軟件開發(fā)流程和關鍵質量控制點的區(qū)別)

敏捷(英語:Agile)是一種開發(fā)方法,意為 "快速 "或 "積極"。

敏捷開發(fā)是一種在短時間內多次重復開發(fā)周期(設計→實施→測試),最終完成軟件的方法。

當軟件開發(fā)開始時,客戶的規(guī)格要求只是部分功能時,這種方法尤其適用。 (見圖 2)。

敏捷開發(fā)的核心特質:

1. **迭代開發(fā)**:每個軟件功能都可在多個短暫的開發(fā)循環(huán)中逐步完善。

2. **靈活性**:允許根據(jù)客戶反饋和市場動態(tài)調整規(guī)格,確保產品與時俱進。

3. **緊密協(xié)作**:開發(fā)者與客戶間的頻繁交流,確保需求的準確理解和實時更新。

然而,這也帶來了一些挑戰(zhàn):

– **進度不確定性**:頻繁的變更可能會影響開發(fā)時間表。

– **文檔不足**:過于依賴口頭溝通可能導致詳細的設計文檔缺乏,對質量控制和工時管理構成考驗。

敏捷方法在面對需求快速變動的行業(yè)領域展現(xiàn)出顯著優(yōu)勢。比如,日本航空JAL)的預訂和票務系統(tǒng)開發(fā)便成功運用了敏捷實踐,充分展示了其適應變化的能力。

2.2 軟件開發(fā)流程

軟件開發(fā)一般遵循圖 3 所示的流程(開發(fā)過程)。

軟件開發(fā)流程和關鍵質量控制點(軟件開發(fā)流程和關鍵質量控制點的區(qū)別)

定義需求設計具體化系統(tǒng)概念整體形象的過程被稱為 "上游過程",而編碼(實施)測試過程通常被稱為 "下游過程"。

評審記錄是對軟件開發(fā)過程中創(chuàng)建的文檔和源代碼的評審(評價和改進建議)記錄。 具體來說,它描述了評審過程中的討論內容、指出的問題和提出的改進建議。 在各種設計和測試中出現(xiàn)錯誤時,會記錄進度狀態(tài)和參與成員(如會議時間),并將其用作審查文件。

(1) 需求定義和設計

本節(jié)介紹確定軟件開發(fā)設計規(guī)范的上游過程,包括如何進行和所需的管理要點。

軟件設計一般分為以下三個主要步驟:

  • 需求定義
  • 基本設計
  • 詳細設計(*有些人認為詳細設計是 "下游流程 "的一部分)

(i) 需求定義

需求定義是明確待開發(fā)軟件的需求(功能、規(guī)格、性能、質量、交付、成本、開發(fā)時 間等)的過程。 如果這些要求沒有得到明確定義,日后可能會出現(xiàn) "額外規(guī)格 "或 "相互矛盾的功能",這將大大增加交付時間和成本。

因此,有必要在與客戶和其他相關方充分討論后,完成一份 "需求定義文件"。

(2) 設計過程(基本設計、詳細設計)

在基本設計中,根據(jù) "需求定義 "編寫 "基本設計文件",詳細概述系統(tǒng)的結構和規(guī)格。 這份 "基本設計文件 "可能包括所有系統(tǒng)功能、數(shù)據(jù)庫配置(表定義和 ER 圖)、屏幕和表單布局以及測試計劃。

在詳細設計中,設計必要的組件(小程序單元)處理、批處理等。 它還包括屏幕和表單周圍的細節(jié)設計、系統(tǒng)處理的數(shù)據(jù)文件的規(guī)格設計、詳細的數(shù)據(jù)庫設計(物理設計)等,以及 "詳細設計文件 "的編寫。

在這些設計過程中,對每份設計文件進行審查(評估并指出改進之處)非常重要。

此外,還要檢查上層設計文件的內容是否轉移到下層設計文件中,各設計文件之間是否存在遺漏或矛盾。

(2) 編碼(實施)

編碼是根據(jù)上述詳細設計文件編寫程序的過程。

根據(jù)結構,確定必要的變量、函數(shù)和控制語句(如 if)。 此外,還要根據(jù)與數(shù)據(jù)庫的聯(lián)系,選擇使用函數(shù)和處理變量的方式。

在代碼審查中,代碼是否編寫得清晰易讀? 代碼是否易于測試? 是否存在任何安全問題? 是否存在安全問題?

(3) 測試流程

V 型模型的流程如圖 4 所示,是測試過程的一個縮影。

軟件開發(fā)流程和關鍵質量控制點(軟件開發(fā)流程和關鍵質量控制點的區(qū)別)

軟件開發(fā)測試與驗證

這個 "V "形模型展示了軟件開發(fā)從 "需求定義 "到 "系統(tǒng)測試 "的步驟順序。

V 型的左側按降序描述了從 "需求定義 "流程開始的上游流程;V 型的右側按升序描述了測試流程;通過比較 V 型的左右部分,可以了解每個測試流程要驗證哪個設計流程,以及測試的重點是什么。

在每個測試流程中,要檢查的測試項目是通過分析每個設計流程的要求和設計細節(jié)來設計的。 這就是 "測試設計"。

(i) 單元測試

單元測試是檢查由軟件源代碼最小單元組成的每個程序(模塊)是否按詳細設計運行的測試。

具體來說,需要確認使用的數(shù)據(jù)、使用程序操作方法。 通過這種測試,可及早發(fā)現(xiàn)和糾正程序中的錯誤(故障)。它確定是否存在任何問題,

(ii) 組合測試

組合測試是檢查開發(fā)的軟件是否按基本設計運行的測試。 它將已完成單元測試的所有模塊結合起來,檢查所需功能是否正常工作。

具體來說,主要目的是檢查在與生產環(huán)境相同的使用環(huán)境中,組合模塊的功能是否存在缺陷。 通過這種測試,可以將模塊連接在一起,并發(fā)現(xiàn)和修復模塊內部的錯誤。

(iii) 系統(tǒng)測試(又稱 "全面測試)

系統(tǒng)測試是軟件開發(fā)過程的最后一步,確認軟件整體的行為和功能符合需求定義中的規(guī)格。 有時也稱為 "全面測試"。

系統(tǒng)測試在單元測試和耦合測試之后進行。

具體來說,系統(tǒng)測試是假定由客戶操作的測試,是在向客戶發(fā)布軟件前進行的最后檢查。

(iv) 各測試過程的質量控制。

測試過程中的質量控制是解決每次測試中出現(xiàn)的問題(如錯誤)并防止其再次發(fā)生的活動。

應提出以下問題:每次測試過程中發(fā)現(xiàn)的錯誤是否超出事先預測的目標值? 我們還要分析趨勢,如其他模塊出現(xiàn)類似錯誤的情況。

此外,上述錯誤的原因和遺漏錯誤的原因都要追溯到設計過程以及更高層次的檢查和編碼過程。

3. 提高文檔質量和 bug 收斂是關鍵點

以下三點在軟件開發(fā)質量控制中尤為重要。

(1)在每次設計評審中,擁有優(yōu)秀的評審人員充足的評審時間對防止出現(xiàn) Bug 非常重要。

2)在代碼審查過程中,除了對每段代碼本身進行審查外,還需要對代碼進行驗證,以防止出現(xiàn)安全漏洞。

(3)測試過程的目的是避免發(fā)布后出現(xiàn)問題。 因此,不僅要關注每次測試中是否存在錯誤及其補救措施,還要關注潛在錯誤的檢測。

在軟件質量控制中,上游文檔的質量和測試過程中的錯誤關閉狀態(tài)是重要的控制點。

測試結果為發(fā)布后不出現(xiàn)問題提供了保證。

相關新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部