安卓工程化開發筆記(2)
阿新 • • 發佈:2018-03-10
設計 說明 規劃 選擇 軟件企業 需求分析 結構 系統 周期 一、軟件生命周期
1、軟件定義期:
軟件定義是由軟件系統分析人員和用戶合作,確定軟件是什麽,針對有待開發的軟件系統進行分析、規劃和規格描述,為今後的軟件開發做準備。
(1)軟件任務立項
(2)項目可行性分析
(3)制定項目計劃
(4)軟件需求分析
2、軟件開發期:
在驛軟件 規格完成定義以後,接著可以說在此基礎上對軟件 實施開發,並由此制作出軟件 產品。這個時期需要分階段地完成以下幾項工作。
(1)軟件概要設計( 也稱總體設計)
概要設計是從總體上對軟件進行設計
(2)軟件詳細設計
以概要設計為依據,用於確定軟件結構中每個模塊的內部細節,為編寫程序提供最直接的依據。
(3)編碼與單元測試
(4)系統集成測試
(5)系統確認驗證
3、軟件運行和維護期
軟件的維護過程,也就是修正軟件錯誤,完善軟件功能。
二、軟件開發過程模型
軟件過程模型是人們在軟件開發實踐中總結出來的、適用於具有某一類特征項目的標準開發過程。
常見的軟件開發過程模型很多,包括瀑布模型、演化模型(包括原型模型、增量模型和螺旋模型)、噴泉模型、RUP過程等等。
在實踐中,軟件項目開發團隊必須依據擬開發項目的特點以及對用戶需求的把握程序,選擇某一開發過程模型做一定的剪裁,設計出適合具體項目的軟件開發過程。
(1)瀑布模型(也稱線性順序模型,出現的時期最早,使用最多的)
計劃、需求分析、設計(概要設計、詳細設計)、編碼、測試、運行維護
瀑布模型中的“瀑布”意味著過程中的開發活動是嚴格線形的,就像山頂傾瀉下來的水,逐級下落。
(文檔是瀑布模型中每個階段的體現)
特征:
需求穩定、變化很小且開發人員能夠一次性獲取全部需求的項目
軟件 開發人員具有豐富經驗
風險
(2)原型模型
收集需求、快速原型、構建、移交部署、收集需求
(2.1)快速原型方法
快速原型方法是原型模型在軟件分析、設計階段的應用,用來解決用戶對軟件 每戶在需求上的模糊認識,或用來試探某種設計是否能夠獲得預期結果。
快速原型方法具有以下一些特點:
A、快速原型用來獲取用戶需求,或是用來試探設計是否有效。
B、快速原型是暫時使用的,因此並不要求完整。
C、快速原型不能貫穿軟件
(2.2)原型進化模型
原型進化對開發過程的考慮是,針對有待開發的軟件系統,先開發一個原型系統給用戶使用,然後根據用戶使用情況的意見 反饋,對原型系統不斷修改,使它逐步接近並最終到達開發目標。
原型進化模型的優點與缺點(手機照片)
(3)增量模型
增量模型具有以下特點:
增量模型主要適用於有以下特點的項目:(書P10)
(4)螺旋模型
螺旋模型既是一種引入了風險分析與規避機制的過程模型,又是瀑布模型、快速原型方法和風險分析方法的有機結合。
(5)噴泉模型
噴泉模型是專門針對面向對象軟件開發方法而提出的。
(6)統一軟件開發過程
三、軟件企業過程能力評價模型(分為五級)
第一級:初始級
第二級:可重復級
第三級:定義級
第四級:管理級
第五級:優化級
CMMI:是IT企業持續提高經營能力的基礎。
四、面向對象技術
面向對象 方法是近20年來出現並繁榮的一種新的軟件開發方法,它是由
面向對象分析 (OOA——Object-Oriented Analysis);
面向對象設計(OOD——Object-Oriented Design);
向對象編程(OOP——Objict-Oriented Programming)組成。
面向對象的基本概念包括對象、類、消息等等。
對象:對象是要研究的任何事物。
類:類是對象的模板。
消息:消息是對象之間進行通信的一種規格說明。一般它由三部分組成:接收消息的對象、消息名及實際變元。
面向對象技術的基本特征是:封裝、繼承、多態。
封裝性:封裝是一種信息隱蔽技術,它體現於人類的說明 。
繼承性:繼承性是子類自動共享父類之間數據和方法的機制。
多態性:對象根據所接收的消息面做出的動作。
安卓工程化開發筆記(2)