- UML基礎與Rose建模實用教程(第三版)
- 謝星星 周新國編著
- 3801字
- 2020-11-23 15:05:22
4.Rational統一過程包含了許多現代軟件開發中的最佳實踐(Best Practice)
最后,Rational統一過程同時也包含了許多現代軟件開發中的最佳實踐(Best Practice)。Rational統一過程以一種能夠被大多數項目團隊和開發組織都能夠適應的形式建立,其所包含的6項最佳實踐為:
- 迭代式軟件開發。
- 需求管理。
- 基于構件的架構應用。
- 建立可視化的軟件模型。
- 軟件質量驗證。
- 軟件變更控制。
這6項最佳實踐能夠有效地解決在軟件開發中的一些根本的問題。下面分別對這6項最佳實踐進行介紹。
(1)迭代式軟件開發
隨著信息化產業的不斷發展,當今的軟件系統變得越來越復雜,人們再去使用一些傳統的線性的開發方式,會越來越具有挑戰性。因為各種在技術上可行并且有社會需求的軟件密集型系統,在規模上、復雜性上、分布式以及重要性上的要求都在不斷地提高,這使得首先完成對問題域的完整定義變得幾乎不可能,我們無法在一開始的時候就完成對系統問題域的完整定義。這就需要我們提出一種能夠解決這種問題的方法。迭代式軟件開發就是其中一種有效的解決方法,它是一種能夠通過一系列細化和若干個漸進的反復過程,從而形成有效解決方案的軟件開發方式。
Rational統一過程專注于處理那些在軟件生命周期中每一個階段的最高風險,通過一系列的迭代過程和風險控制,極大地減少了項目的風險性。可以從以下幾個方面說明迭代式軟件開發的優點:
- 考慮了變化的需求。迭代式軟件開發的特點之一在于它對各種需求變化的考慮。迭代式的開發在逐步替代中完成開發過程,能夠在不確定的需求中完成程序的基本內容,幫助項目開發持續進行。
- 過程逐步集成。在項目的開發過程中首先把握住開始階段的各種要素,將各種要素形成一個“精華或要素”列表,這個列表能夠指導團隊成員采用一種更系統、更全面的方式來思考和執行整個軟件開發過程。一旦一個過程框架或“架構”到位了,項目開發成員就能更有效地面對和處理單個的問題域,逐步將這些工作集成到項目工作中來。
- 早期風險避免。在Rational統一過程中,不僅提供了一系列的風險指導方案,同時迭代式的開發方式能夠在各個階段的開發和集成過程中發現問題并解決掉。
- 變更管理。迭代是軟件開發提供的一系列的變更管理方法,通過這些方法指導項目進行變更管理,減少變更的風險。
- 促進重用。一系列的迭代開發能夠促進項目開發成員設計出良好的程序架構來,良好的架構有助于代碼的重用。
- 不斷評估和修正。在迭代的每一個階段,都是需要一系列的評估和修正的過程,通過不斷地評估和修正,能夠幫助我們發現設計和開發過程中的各種缺陷,將早期發現的瓶頸問題解決掉,不至于在交付前出現更大的麻煩。
- 項目組成員在開發中不斷學習。迭代式開發使項目組的各個組成部分在整個周期中都能夠不斷地學習和進步。
在Rational統一過程中,加入了一些可以驗證的方法來幫助減少風險,即可以從迭代的數量、持續的時間、迭代的目標和最終用戶的反饋等方面計劃迭代過程,在每個迭代過程后以可執行版本告終,開發團隊停留在產生的結果上,頻繁的評估和修正過程有助于確保項目能按時進行,有效地幫助項目管理者降低開發風險。
(2)需求管理
Rational統一過程提供了對需求進行管理的方式。所謂需求管理是指通過一系列系統化的方式,對各種軟件密集型系統或應用程序的需求進行提交、組織、溝通和管理。
一個有效的需求管理應當包括以下的內容:
- 能夠應對復雜項目的需求。
- 能夠有良好的用戶滿意度。
- 盡可能地減少需求的錯誤。
- 增強溝通。
Rational統一過程通過以下的幾種功能對需求管理進行支持:
- 描述了如何去提取、組織和文檔化所需要的功能以及對這些功能的限制因素。
- 能夠跟蹤和文檔化項目的解決方案以及對項目做出決策。
- 還能夠對捕獲商業需求,并進行交流和溝通。
(3)基于構件的架構應用
Rational統一過程支持基于構件的軟件開發。所謂的構件是指具有清晰功能的模塊、包或子系統等。軟件構件是對概要設計在物理上的實現,它們之間有著明確的界限,并且能夠通過良好的定義集成為一個優良的架構?;跇嫾拈_發主要有以下幾種不同的方式,分別為:
- 認真設計每一個構件,然后分別對構件進行測試和集成,最終完成整個系統。
- 構建可重用構件。對于一些可以為那些普遍存在的問題提供共同解決方案的構件,我們可以將這些構件開發成為可重用構件。這些可重用構件構成了在組織中軟件開發的重用基礎,因而能夠提高整個組織軟件的生產能力和質量。
- 一些基礎結構的構件。這些構件能夠支持一些基礎結構,如CORBA、Internet、ActiveX和JavaBeans等,它們在商業應用上都取得了很大的成功。這些基礎結構的構件促進了計算機軟件應用的不同領域對現有構件的使用。
Rational統一過程是以架構為中心的,該過程在進行開發之前,關注的是早期能夠進行開發和產生健壯的可執行體系結構的起點,這個起點是以一個可執行的架構原型的形式而存在的。它描述了如何設計靈活的、可容納修改的、直觀便于理解的并且促進有效軟件重用的彈性結構,在后來的開發中,逐步將其發展成為最終的目標系統。
Rational統一過程還為架構提供了一個設計、開發、驗證的系統性方法。其中包括提供了模板、架構風格、設計規則、設計約束、設計過程構件和管理過程等。模板用以描述建立在多重架構視圖概念基礎上的架構。設計過程構件包括約束、構建重要元素以及確定如何進行架構選擇的指導原則等具體活動。管理過程告訴我們如何計劃早期的迭代過程,其中要考慮到架構設計和主要的技術風險的解決方法。
Rational統一過程使架構設計人員將注意力集中在軟件的架構設計上,同時能夠讓所有人員都能夠明確所開發軟件的結構狀況,并且通過一系列的迭代過程使開發人員逐步確定構件,這些確定的構件可以通過開發、重用和購買等方式來獲得,最終完成系統的開發。
(4)建立可視化的軟件模型
Rational統一過程的可視化建模的基礎是UML(統一建模語言)。它是一種圖形語言,是描述不同模型的通用語言,它提供了一種規劃系統藍圖的標準方法,但是它卻不能告知設計人員如何使用它來開發軟件。這就是為什么Rational聯合UML開發Rational統一過程的原因。
Rational統一過程指導我們如何有效地使用UML(統一建模語言)進行建模。它告訴我們在開發過程中需要什么樣的模型,為什么需要這樣的模型以及如何構造這樣的模型等,可以說Rational統一過程的很大部分是在開發過程中開發和維護系統模型(Model)。模型幫助我們理解并找到問題及問題的解決方案。在開發過程中通過顯示對軟件如何可視化建模,捕獲體系結構和構件的結構和行為。并且允許開發人員隱藏細節和使用各種“圖形構造塊”來進行代碼的編寫。可視化建模抽象表述了軟件的不同方面,觀察各元素如何配合在一起,確保構件模塊和實現代碼一致,以保持設計和實現的一致性,促進保持明確的溝通。
在使用Rational統一過程時要注意對UML(統一建模語言)版本的關注,在RUP2000中使用UML 1.4版本。隨著Rational公司被IBM并購,對于該技術就有必要關注IBM,現在最新的UML版本已經到了UML 2.5。
(5)軟件質量驗證
在軟件開發中,我們通常關注兩方面的質量,分別是產品質量和過程質量。
- 產品質量:是指開發出來的軟件產品(包括軟件和系統等)以及軟件產品中得到的所有元素(包括構件、子系統、架構等)的質量。
- 過程質量:過程質量是指在進行軟件開發過程中,軟件開發組織使用的軟件工程過程(包括對質量的度量和準則等)被執行的程度。一系列的軟件工程因素如迭代計劃、系統用例、架構設計、測試計劃等執行程度構成軟件系統的過程質量。
體現高性能以及具有可靠性的應用程序是軟件能夠被接受的關鍵,在軟件開發中不僅僅關注軟件的產品質量,還應當關注于那些生產合格產品的過程質量。軟件產品的質量應該是基于可靠性、功能性、應用和系統性能等方面并根據需求來進行驗證的。Rational統一過程能夠幫助開發人員計劃、設計、實現、執行和評估這些測試類型。并且Rational統一過程將軟件產品的質量評估內建于所有過程和活動當中,即將軟件質量驗證成為每一個開發組織成員的職責,并且使用客觀的度量和標準,而不是事后型的或單獨小組所進行的分離式度量。
Rational統一過程還針對如何驗證和客觀評價軟件產品是否達到預期的質量目標提出了一系列的標準。
(6)軟件變更控制
在軟件開發過程當中,尤其是迭代開發過程當中,由于其開發計劃和執行過程都具有靈活性,很多在軟件開發過程當中的文檔、代碼等工作產品都會被修改。因此,為了跟蹤這種修改變更的步驟,并且確保開發組織中的每一個人、每一件事都能夠同步地進行,需要對軟件產品的變更進行變更管理。
由于變更的出現往往是需求的變化,因此在迭代式軟件開發中,變更管理首先關注于軟件開發組織的需求變化,產生出針對需求、設計和實現中的變更進行管理的一種系統性方法。它也包括了一系列的重要活動,如跟蹤發現的錯誤、誤解和項目任務,同時將這些活動與某一特定軟件產物和發布聯系起來。變更管理和配置管理對軟件產品質量的度量有著密切的關系。
衡量一個組織進行變更能力的高低是通過管理變更能力來表示。管理變更能力確定每個修改是可接受的,并且是能夠被跟蹤的。它在那些對于變更是不可避免的環境中是必須的。Rational統一過程描述了如何控制、跟蹤和監控修改以確保成功的迭代開發,它同時指導如何通過隔離修改和控制整個軟件產物(例如,模型、代碼、文檔等)的修改來為每個開發者建立安全的工作區。
綜上所述,Rational統一過程是這四方面的統一體。根據這四方面的內容,Rational統一過程提供了:一種以可預測的循環方式進行軟件開發的軟件開發過程;一個用來確保生產高質量軟件的系統產品;一套能夠被靈活改造和擴展的過程框架;許多軟件開發的最佳實踐。這四個方面都使得Rational統一過程對現代軟件工程的發展產生了深遠的影響。
- Learning NServiceBus(Second Edition)
- Git Version Control Cookbook
- Java 開發從入門到精通(第2版)
- 前端跨界開發指南:JavaScript工具庫原理解析與實戰
- 編程卓越之道(卷3):軟件工程化
- Koa開發:入門、進階與實戰
- Java深入解析:透析Java本質的36個話題
- Mastering Linux Network Administration
- Unity 2017 Mobile Game Development
- 深入理解C指針
- CRYENGINE Game Development Blueprints
- Struts 2.x權威指南
- PHP+MySQL動態網站開發從入門到精通(視頻教學版)
- TypeScript圖形渲染實戰:2D架構設計與實現
- AngularJS UI Development