2.1軟體生命週期與配置管理
大綱:
一.軟體的生命週期(lifecycle of a software)
from 0 to 1 —— 從無到有
from 1 to n —— 從有到好
軟體雖然不會磨損,但是需要維護和公升級,需要增加新的功能
二.傳統的軟體開發過程
主要過程:
三.敏捷的開發過程
敏捷開發和傳統開發的區別:
eg:極限程式設計
極限程式設計的主要思想和瀑布過程一樣,但是,改變了不同階段所做的事情,更加強調小規模的迭代以滿足使用者的所有需求。
四.軟體配置管理:追蹤和控制軟體的變化
***,資料和文件都在管理的範疇之內
1.古老的版本控制:
通過複製檔案並且修改檔名來實現版本控制,但是長時間後就會產生遺忘的現象
2.版本控制工具(自動化)
一些需要了解的專業名詞:
版本控制工具的三種型別:
五.git
git是軟體配置管理的典型例子
1.git的結構
git的每乙個commit物件就是乙個新的版本
commit物件有兩種產生方式:、
commit物件的內容:
*與之前commit中未發生變化的檔案,無需重複儲存,只需要乙個鏈結即可
2.2軟體的構造過程,系統和工具
這部分只需要大家自己了解幾種工具就可以,不是重點
軟體構造第二章隨筆
1.瀑布模型 要求 設計 實現 驗證 維護 2.增量模型 以增量的方式實施瀑布模型 通常首先實現優先順序最高的需求 當某增量開發完成,則對應的需求被凍結 3.v模型 強調了瀑布模型的測試環節 4原型法 先實現乙個系統原型,模擬最終的幾個方面,甚至完全不同,細節問題可以忽略。在專案早期可以獲得使用者的...
第二章學習筆記
在c 中,陣列下標從0開始,而不是1.c 不支援陣列的抽象,也不支援對整個陣列的操作。在c 中,物件可以靜態分配 即編譯器在處理程式源 時分配,也可以動態分配 即程式執行時,用執行時刻庫函式來分配。靜態與動態記憶體分配的兩個主要區別是 1 靜態物件是有名字的變數,可以直接對你進行操作。而動態物件是沒...
第二章學習筆記
ansi c 有翻譯和執行兩種環境,且不必在一台機器上,例如交叉編譯器 cross compiler 作業系統也是如此 freestanding environment 翻譯 將源 轉換為可執行機器指令 執行 實際執行 翻譯經過以下階段 形成的目標檔案字尾可能在不同系統下不同,如 o obj cc ...