《軟件工程 實踐者的研究方法》第二章-軟件工程

第二章——軟件工程

思惟導圖

文件分享

如要獲取markdown文件和思惟導圖X-mind文件,請點擊:https://share.weiyun.com/STYC0ZiN
前端

導言

首先,你應該認識到:

  • 什麼是軟件

其次,你應該有認知:

  • 什麼是軟件工程

由簡單事實能夠獲得一個簡單結論:

  • 各類形式、各個應用領域的軟件都須要工程化

定義軟件工程

定義無所謂,就是軟件工程

質量關注點

  • 支持軟件工程的根基

過程層

  • 軟件工程的基礎
  • 就是軟件開發上線的過程

軟件工程方法

  • HOW
  • 解決方法

軟件工程工具

本章重點:軟件過程

工做產品構建時所執行的一系列活動、動做和任務的集合

  • 活動(activity)編程

    • 主要實現寬泛的目標
  • 動做(action)後端

    • 過程當中的一系列任務
  • 任務(task)markdown

    • 關注小而明確的目標

過程框架

  • 溝通框架

    • 我寧願將之稱爲:需求獲取與分析
    • 溝通無處不在,但尤其注意的是與客戶等利益相關方的溝通,使之明確
  • 策劃工具

    • 若是有地圖,任何複雜的旅程均可以變得簡單
    • 理所固然,就是策劃軟件
    • 這是產品經理流程最重要的一部分工做
  • 建模測試

    • 創建模型
    • 畫草圖並不斷細化
    • 固然,原型開發,這是個很重要的活兒。
    • UI
  • 構建設計

    • 前端設計與編程
    • 後端開發
    • 測試,修改
  • 部署3d

    • 部署上線
    • 由用戶給出評測和反饋
    • 而且持續維護
    • 迭代

普適性活動

  • 一般,這些普適性活動會貫穿項目始終
  • 軟件項目跟蹤與控制
  • 風險管理
  • 軟件質量保證
  • 技術評審
  • 測量
  • 軟件配置管理
  • 可複用管理
  • 工做產品的準備和生產

過程的適應性調整

  • 任何東西都有變化與調整,難以有一成不變的東西
  • 我認爲食譜只是一種指導方法——Benoit

軟件工程實踐

實踐的精髓

  • 經典著做《How to Solve it》
  1. 理解問題前端設計

    • 理解問題並不是那麼容易
    • 理解問題最重要的是傾聽
    • 找出真正的問題
    • 並進行細化和切分,梳理邏輯關係和重要程度
  2. 策劃解決方法

    • 策劃實際上是關鍵一步,由於它徹底涉及到全體四部分
  3. 實施計劃

    • 任何計劃不落地都是沒有意義的。
    • 在實施中,進行追溯和校訂,測量評估
    • 實施必需要有KPI,也就是指標!!!
  4. 檢查結果的正確性

    • 檢查是重要的。
    • 採用正確的常識,可讓你永遠不迷失方向

通用原則

  • David Hooker提出了7個關注軟件工程總體實踐的原則
  1. 存在價值

    • 一個軟件系統因能爲用戶提供價值而具備存在的意義
    • 全部的決策都應該基於這個思想
    • 這是真正的價值
    • 用戶是第一位的
    • 在開始一個軟件項目以前,應首先確保軟件具備商業目標而且讓用戶體會到它的價值
  2. 保持簡潔

    • Keep Simple
    • 構建易於理解和易於維護的系統
    • 簡潔而非簡化,而是恰到好處,肯定所作的範圍
    • BP!
  3. 保持願景

    • 清晰的願景是軟件項目成功的基礎
    • 沒有願景,將沒法保持統一和一致
    • 內部如此,外部也同樣如此
    • 願景有利於解決分歧和不協調,爲了工做和開發
  4. 關注使用者

    • 要讓其易於理解
    • 在需求說明、設計和實現過程當中,牢記要讓別人理解你所作的事情
  5. 面向將來

    • 生命週期持久的系統具備更高的價值
    • 永遠不要把本身的設計侷限於一隅
    • 提前應對,提前準備,不管如何,你應該想到,關於未來有可能發生的事情。考慮它!!!
  6. 提早計劃複用

    • 提早作好複用計劃將下降開發費用,並增長可複用構件以及構件化系統的價值
    • 須要有前瞻性的複用設計與計劃
    • API與SDK
  7. 認真思考

    • 在行動以前清晰定位、完整思考,一般能產生更好的結果
    • 最後一條多是最容易被忽略的。時刻提醒本身!!!
    • 去接受你的好奇,和提高你的好奇!向前!!!

軟件開發神話

  • 糾正錯誤的神話
  • 即便有軟件開發標準和過程規程,想要落實和實施它也不容易,況且軟件開發是不少團隊共同協做的過程
  • 軟件開發難以經過增長人手直接性的提升進度,有序且有計劃有實施,纔是保障進度的最好方法。也只有在這樣的狀況下,增長人手纔有意義。
  • 與客戶的溝通不順暢,沒有互相理解,及時糾正錯誤的信息,會致使壞結果
  • 變動需求的時間越是早期,變動成本就越小。在設計框架創建,資源分配,甚至項目啓動以後以後,變動的成本就越增長。直至致使沒法挽回。
  • 文檔和設計,是很是重要的一部分
相關文章
相關標籤/搜索