這裡,將software development lifecycle 簡寫為sdcl,將software configuration management簡寫為scm。
1.軟體開發的目標是活力與較長的生命週期。
2.傳統設計模式從基本的,可以分為兩種:線性的(瀑布模型、增量模型)與迭代的(原型法、螺旋模型)
還有特殊的v模型是,基於驗證的。
3.最佳的開發方式主要考慮的是:使用者參與(適應變化需要),高效開發,專案管理,軟體的質量。
傳統開發模式中,
1)瀑布模型的開發過程:
使用者需求-> 設計->實現-> 驗證->維護
2)增量模型:即將整個產品分成幾個增量,逐一完成;
注意:一旦開始開發某增量,則該增量的對應需求被凍結
3)v-模型:瀑布模型的拓展,隨著開發的完成度,進行強化測試
程度,橫軸是專案的完整度或時間
3.模型法與瀑布法的不同之處在於迭代式的使用者反饋,有助於開發者更精確地理解使用者需求,對後面的開發計畫進行預估(ddl等)
3.螺旋形模型:由風險驅動,每一輪迭代開始,根據風險評估,選擇最適合的傳統模型(上面提到過的一種)
4。而現在流行的是敏捷開發, pair programming ,尊重使用者的需求,對使用者的需求變化,及時做出調整。 最重要的是開發周期短,在反覆評價的過程中,規格說明不是固化的
式:1.xp(特點是與使用者一起coding)
2.scrum(特點是將任務分割,小組合作,各自開發,定期進行交流)
版本控制
軟體配置管理的目的是控制版本和建立基線。
軟體配置項是軟體配置管理的基本單位,包括源**、資料、文件(系統說明,**的規格說明,測試方案等)、軟硬體、環境等。
軟體配置項由軟體配置資料庫管理.
軟體配置管理資料庫的更新有check_in(使用者或開發者獲取版本)和check_out(使用者提交修改過的版本)的過程。
check_in 和check_out都有乙個和配置管理資料庫互動的過程,是基於乙個cmdb控制下的軟體版本基線,對某一部分的版本進行修改。訪問的許可權由乙個access control進行是否可修改的開鎖解鎖控制。
版本控制系統是分布式還是中心式的關鍵在於使用者是否用於所有的版本備份,可以滿足使用者之間相互傳遞資料。(分布式也是有控制所有版本的伺服器滴)
術語:head指當前版本
working copy 指當前本地可進行編輯修改的備份。
git倉庫分為3部分:工作區(modified)、快取區(staged)、.git目錄(儲存了倉庫的各版本控制資料)(committed)。
尤其要注意的是:在傳統的vcs中,儲存的是每個版本的增量(即發生修改的部分);而在git中,儲存整個發生修改過的檔案,且每個檔案的每個版本只儲存一次,然後每個版本共享。
軟體開發過程與專案管理(9 軟體專案配置管理計畫)
配置項 指基礎架構元件或基礎架構有關的專案,包括軟體 硬體和各種文件,如變更請求 服務 伺服器 環境 裝置 網路設施 台式電腦 移動裝置 應用系統 協議電信服務等。配置基準線 指乙個產品或系統在某一特定時刻的配置狀況,這種配置不僅體現了其產品獲系統的結構,還反映了其具體內容,使得以後可以按照上述配置...
軟體配置管理
軟體配置管理,它為軟體開發提供了一套管理辦法和活動原則,成為貫穿軟體開發始終的重要質量保證活動。配置管理的過程實際是軟體開發過程中質量管理的精髓所在,版本管理提高了開發者的工作效率,而變更控制則提高了整個開發團隊的工作效率。兩者的緊密結合,將為軟體開發專案提供一道堅實的質量防火牆,使軟體開發專案的質...
軟體開發模型
軟體開發模型 software development model 是指軟體開發全部過程 活動和任務的結構框架。軟體開發包括需求 設計 編碼和測試等階段,有時也包括維護階段。軟體開發模型能清晰 直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體專案工作的基礎。對於不同的軟體系統...