A. 軟體工程的開發模型有哪些
軟體工程的開發模型有瀑布模型、演化模型、螺旋模型、增量模型、構件組裝模型、統一過程、敏捷開發模型。
軟體工程:
軟體工程是一門普通高等學校本科專業,屬計算機類專業,基本修業年限為四年,授予工學學士學位。
涉及程序設計語言、資料庫、軟體開發工具、系統平台、設計模式等方面,培養學生適應計算機應用學科的發展,特別是軟體產業的發展,使其具備計算機軟體的基礎理論、基本知識和基本技能,具有用軟體工程的思想、方法和技術來分析、設計和實現計算機軟體系統的能力。
常見的軟體有:電子郵件、Office辦公軟體、設計軟體PS、Windows操作系統、各類游戲等。
掌握數學與自然科學基礎知識以及與計算系統相關的基本理論、基本知識、基本技能和基本方法,具備包括計算思維在內的科學思維能力和設計計算解決方案、實現基於計算原理的系統的能力,能清晰表達,在團隊中有效發揮作用,綜合素質良好。
B. 軟體開發模型有哪幾種各有什麼特點
軟體開發模型(Software Development Model)是指軟體開發全部過程、活動和任務的結構框架。軟體開發包括需求、設計、編碼和測試等階段,有時也包括維護階段。軟體開發模型能清晰、直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體項目工作的基礎。對於不同的軟體系統,可以採用不同的開發方法、使用不同的程序設計語言以及各種不同技能的人員參與工作、運用不同的管理方法和手段等,以及允許採用不同的軟體工具和不同的軟體工程環境。軟體工程的主要環節包括人員管理、項目管理、需求分析、系統設計、程序設計、測試、維護等,如圖所示。軟體開發模型是對軟體過程的建模,即用一定的流程將各個環節連接起來,並可用規范的方式操作全過程,好比工廠的生產線。
8.混合模型(hybrid model)過程開發模型又叫混合模型(hybrid model),或元模型(meta-model),把幾種不同模型組合成一種混合模型,它允許一個項目能沿著最有效的路徑發展,這就是過程開發模型(或混合模型)。實際上,一些軟體開發單位都是使用幾種不同的開發方法組成他們自己的混合模型。各種模型的比較每個軟體開發組織應該選擇適合於該組織的軟體開發模型,並且應該隨著當前正在開發的特定產品特性而變化,以減小所選模型的缺點,充分利用其優點,下表列出了幾種常見模型的優缺點。各種模型的優點和缺點:模型優點缺點瀑布模型文檔驅動系統可能不滿足客戶的需求快速原型模型關注滿足客戶需求可能導致系統設計差、效率低,難於維護增量模型開發早期反饋及時,易於維護需要開放式體系結構,可能會設計差、效率低螺旋模型風險驅動風險分析人員需要有經驗且經過充分訓練
9.RUP模型(迭代模型)
RUP(Rational Unified Process)模型是Rational公司提出的一套開發過程模型,它是一個面向對象軟體工程的通用業務流程。它描述了一系列相關的軟體工程流程,它們具有相同的結構,即相同的流程構架。RUP 為在開發組織中分配任務和職責提供了一種規范方法,其目標是確保在可預計的時間安排和預算內開發出滿足最終用戶需求的高品質的軟體。RUP具有兩個軸,一個軸是時間軸,這是動態的。另一個軸是工作流軸,這是靜態的。在時間軸上,RUP劃分了四個階段:初始階段、細化階段、構造階段和發布階段。每個階段都使用了迭代的概念。在工作流軸上,RUP設計了六個核心工作流程和三個核心支撐工作流程,核心工作流軸包括:業務建模工作流、需求工作流、分析設計工作流、實現工作流、測試工作流和發布工作流。核心支撐工作流包括:環境工作流、項目管理工作流和配置與變更管理工作流。RUP 匯集現代軟體開發中多方面的最佳經驗,並為適應各種項目及組織的需要提供了靈活的形式。作為一個商業模型,它具有非常詳細的過程指導和模板。但是同樣由於該模型比較復雜,因此在模型的掌握上需要花費比較大的成本。尤其對項目管理者提出了比較高的要求。它具有如下特點:(1)增量迭代,每次迭代都遵循瀑布模型能夠在前期控制好和解決風險;(2)模型的復雜化,需要項目管理者具有較強的管理能力。
10.IPD模型
IPD(Integrated Proct Development)流程是由IBM提出來的一套集成產品開發流程,非常適合於復雜的大型開發項目,尤其涉及到軟硬體結合的項目。
IPD從整個產品角度出發,流程綜合考慮了從系統工程、研發(硬體、軟體、結構工業設計、測試、資料開發等)、製造、財務到市場、采購、技術支援等所有流程。是一個端到端的流程。在IPD流程中總共劃分了六個階段(概念階段、計劃階段、開發階段、驗證階段、發布階段和生命周期階段),四個個決策評審點(概念階段決策評審點、計劃階段決策評審點、可獲得性決策評審點和生命周期終止決策評審點)以及六個技術評審點。
IPD流程是一個階段性模型,具有瀑布模型的影子。該模型通過使用全面而又復雜的流程來把一個龐大而又復雜的系統進行分解並降低風險。一定程度上,該模型是通過流程成本來提高整個產品的質量並獲得市場的佔有。由於該流程沒有定義如何進行流程回退的機制,因此對於需求經常變動的項目該流程就顯得不大適合了。並且對於一些小的項目,也不是非常適合使用該流程。
C. 軟體開發中有哪幾種過程模型
1.瀑布模型
瀑布模型的特點是:
階段間具有順序性和依賴性,前一階段結束後才能開始後一階段的工作,前一階段的輸出是厚意階段的輸入;推遲實現觀點,盡可能推遲程序的物理實現;強調質量保證觀點,每個階段必須完成規定的文檔,每個階段結束前完成文檔以便及早改正錯誤。
優點:
(1)原理簡單,容易掌握。
(2)各階段間都有驗證和確認環節,以便進行質量管理。
(3)主要用於支持結構化方法
缺點:
(1)缺乏靈活性,不能適應用戶的需求變化。
(2)缺乏演化性,返回上一級的開發需要付出十分高昂的代價
(3)是線性的軟體開發模型,回溯性差。
使用場合:
(1)適合於軟體需求比較明確或很少變化,且開發人員可以一次性獲取到全部需求的場合
(2)適合開發技術比較成熟,工程管理比較嚴格的場合
(3)一般用於低風險的項目,適合開發人員具有豐富的經驗。