軟體構造的多維檢視
code-level: 源**:**的邏輯組織:ast抽象語法樹、函式、方法、類、介面等具體的邏輯實現(class diagram類圖)
moment view : 特定時刻的原始碼或元件形態
period view:軟體形態隨時間的變化
runtime views
code-level : 可執行程式的記憶體狀態,程式之間的互動、呼叫
component-level:軟體包部署到物理環境(os、network、硬體等),及其互動
moment view:特定時刻的程式行為
period view:隨著時間的行為
event logging:系統管理員使用,高層次資訊(如安裝程式失敗),有一定輸出格式,不必敏捷
execution tracing:開發者使用,低層次資訊(如丟擲異常),較低格式限制,必須敏捷
軟體構造的階段劃分,各階段的活動
software development lifecycle sdlc 軟體開發生命週期
0->1 從無到有
計畫-需求-設計-構造(實現)-測試-部署-運維
1->n 從有到好
版本更新
傳統軟體開發模型
基本型別:linear 線性過程;iterative 迭代過程
模型:wate***ll 瀑布過程(線性非迭代)
階段清楚,管理簡單,無法適應需求變化
incremental 增量過程(非迭代)
多個瀑布序列,比較容易適應需求的增加(有需求就增加乙個瀑布)
v-model v字模型(驗證,確認)
prototyping 原型過程(迭代)
在原型上持續不斷的迭代,發現使用者變化的需求
迭代:開發出來後由使用者試用/評審,發現問題反饋給卡發著,開發者修改原有的實現,繼續交給使用者評審
時間代價高,但開發質量也高
spiral 螺旋過程(迭代)
多輪迭代基本遵循瀑布模式
每輪迭代有明確的目標,遵循"原型"過程,進行嚴格的風險分析,方可進入下一輪迭代
agile development 敏捷開發
通過快速迭代和小規模的持續改進,以快速適應變化
使用者高度參與,小步驟迭代確認驗證。強調人的作用
內部/外部質量指標
外部質量因素影響使用者,內部質量因素影響軟體本身和它的開發者,外部質量取決於內部質量。
1.external quality factors 外部質量
2.internal quality factors 內部質量
readability 可讀性
understandability 可理解性
clearness
size
3.最重要的幾個質量因素
4.軟體構造的五個關鍵質量目標
軟體配置管理scm與版本控制系統vcs
1.vcs version control system
2.scm 軟體配置管理:追蹤和控制軟體的變化
git的結構、工作原理、基本指令
1.結構
2.指令
軟體工程 第一 二章總結
軟工 看了有一段時間了。但是感覺自己沒有怎麼抓住重點。也不知道重點到底是哪。問了挺多人,才慢慢一點點暴露自己的問題。原來這麼長時間我都不會看 不過還好,問題暴露出來就可以,最起碼我知道自己的問題在哪,這樣不會像乙個盲人一樣跌跌撞撞還不知道自己走到了那裡。問題一 不會找重點。其實每一集 的開頭都會有一...
具體數學第一 二章總結
找完工後一直在想看什麼書,仔細想想發現工作後可能不是很有時間來看一些很基礎的數學類書籍了,所以就選中了具體數學,其實這本書好早就買了,只是沒時間看罷了。以後會寫一系列總結這本書上知識點以及一些想法的博文,當做備份吧。首先是第一章和第二章。第一章 recurrent problem 這章講了3個非常有...
具體數學第一 二章總結
找完工後一直在想看什麼書,仔細想想發現工作後可能不是很有時間來看一些很基礎的數學類書籍了,所以就選中了具體數學,其實這本書好早就買了,只是沒時間看罷了。以後會寫一系列總結這本書上知識點以及一些想法的博文,當做備份吧。首先是第一章和第二章。第一章 recurrent problem 這章講了3個非常有...