第二章——軟件工程
思惟導圖
文件分享
如要獲取markdown文件和思惟導圖X-mind文件,請點擊:https://share.weiyun.com/STYC0ZiN
前端
導言
首先,你應該認識到:
其次,你應該有認知:
由簡單事實能夠獲得一個簡單結論:
定義軟件工程
定義無所謂,就是軟件工程
質量關注點
過程層
軟件工程方法
軟件工程工具
本章重點:軟件過程
工做產品構建時所執行的一系列活動、動做和任務的集合
-
活動(activity)編程
-
動做(action)後端
-
任務(task)markdown
過程框架
-
溝通框架
- 我寧願將之稱爲:需求獲取與分析
- 溝通無處不在,但尤其注意的是與客戶等利益相關方的溝通,使之明確
-
策劃工具
- 若是有地圖,任何複雜的旅程均可以變得簡單
- 理所固然,就是策劃軟件
- 這是產品經理流程最重要的一部分工做
-
建模測試
- 創建模型
- 畫草圖並不斷細化
- 固然,原型開發,這是個很重要的活兒。
- UI
-
構建設計
-
部署3d
- 部署上線
- 由用戶給出評測和反饋
- 而且持續維護
- 迭代
普適性活動
- 一般,這些普適性活動會貫穿項目始終
- 軟件項目跟蹤與控制
- 風險管理
- 軟件質量保證
- 技術評審
- 測量
- 軟件配置管理
- 可複用管理
- 工做產品的準備和生產
過程的適應性調整
- 任何東西都有變化與調整,難以有一成不變的東西
- 我認爲食譜只是一種指導方法——Benoit
軟件工程實踐
實踐的精髓
-
理解問題前端設計
- 理解問題並不是那麼容易
- 理解問題最重要的是傾聽
- 找出真正的問題
- 並進行細化和切分,梳理邏輯關係和重要程度
-
策劃解決方法
-
實施計劃
- 任何計劃不落地都是沒有意義的。
- 在實施中,進行追溯和校訂,測量評估
- 實施必需要有KPI,也就是指標!!!
-
檢查結果的正確性
- 檢查是重要的。
- 採用正確的常識,可讓你永遠不迷失方向
通用原則
- David Hooker提出了7個關注軟件工程總體實踐的原則
-
存在價值
- 一個軟件系統因能爲用戶提供價值而具備存在的意義
- 全部的決策都應該基於這個思想
- 這是真正的價值
- 用戶是第一位的
- 在開始一個軟件項目以前,應首先確保軟件具備商業目標而且讓用戶體會到它的價值
-
保持簡潔
- Keep Simple
- 構建易於理解和易於維護的系統
- 簡潔而非簡化,而是恰到好處,肯定所作的範圍
- BP!
-
保持願景
- 清晰的願景是軟件項目成功的基礎
- 沒有願景,將沒法保持統一和一致
- 內部如此,外部也同樣如此
- 願景有利於解決分歧和不協調,爲了工做和開發
-
關注使用者
- 要讓其易於理解
- 在需求說明、設計和實現過程當中,牢記要讓別人理解你所作的事情
-
面向將來
- 生命週期持久的系統具備更高的價值
- 永遠不要把本身的設計侷限於一隅
- 提前應對,提前準備,不管如何,你應該想到,關於未來有可能發生的事情。考慮它!!!
-
提早計劃複用
- 提早作好複用計劃將下降開發費用,並增長可複用構件以及構件化系統的價值
- 須要有前瞻性的複用設計與計劃
- API與SDK
-
認真思考
- 在行動以前清晰定位、完整思考,一般能產生更好的結果
- 最後一條多是最容易被忽略的。時刻提醒本身!!!
- 去接受你的好奇,和提高你的好奇!向前!!!
軟件開發神話
- 糾正錯誤的神話
- 即便有軟件開發標準和過程規程,想要落實和實施它也不容易,況且軟件開發是不少團隊共同協做的過程
- 軟件開發難以經過增長人手直接性的提升進度,有序且有計劃有實施,纔是保障進度的最好方法。也只有在這樣的狀況下,增長人手纔有意義。
- 與客戶的溝通不順暢,沒有互相理解,及時糾正錯誤的信息,會致使壞結果
- 變動需求的時間越是早期,變動成本就越小。在設計框架創建,資源分配,甚至項目啓動以後以後,變動的成本就越增長。直至致使沒法挽回。
- 文檔和設計,是很是重要的一部分