軟件需求與分析極簡總結

  1. 迭代開發的優點
    –減少項目失敗的可能性,提高生產率,降低缺陷率
    –在早期緩解高風險
    –早期可見的進展
    –可控複雜性
    –一次迭代中的經驗可以被系統地用於改進開發過程本身,並如此反覆進行下去

  2. 迭代開發的關鍵思想:時間定量(timeboxed)

  3. 風險驅動(risk-driven):更爲明確地包含了以架構爲中心(architecture-centric)迭代開發的實踐

  4. 敏捷開發(agile development):通常應用時間定量的迭代和進化式開發、使用自適應計劃、提倡增量交付幷包含其他提倡敏捷性的價值和實踐

  5. 需求(requirement)就是系統必須提供的能力和必須遵從的條件。

  6. 用例是文本形式的情節描述,用以說明某參與者使用系統以實現某些目的。具體模板參照實驗

  7. 參與者(actor)是某些具有行爲的事物,可以是人、計算機系統或組織

  8. 場景(scenario)是參與者和系統之間的一系列特定的活動和交互,也稱用例實例

  9. 領域模型(domain model)是對領域內的概念類或現實世界中對象的可視化表示

  10. 邏輯框架(logical architecture)是軟件類的宏觀組織結構,它將軟件類組織爲包(或明明空間)、子系統和層

  11. 層(layer)是對類、包或子系統的甚爲粗粒度的分組 ,具有對系統主要方面加以內聚的職責

  12. 層的好處
    –關係分離,減少耦合,增強內聚性
    –封裝和分解了相關的複雜性
    –較底層包含可複用功能

  13. UML交互圖(順序圖+通信圖)

    • 順序圖
      –最開始的消息稱爲初始消息(found message)
      –使用實心箭頭線表示同步消息
      –使用虛線表示創建對象
    • 通信圖
      –用鏈(link)連接兩個對象
  14. UML類圖
    ·關聯線是帶箭頭的(領域模型是直連的)

  15. GRASP
    ·信息專家(Information expert)
    ·創建者(Creator)
    ·控制器(Controller)
    ·高內聚(High Cohesion)
    ·低耦合(Low Coupling)
    ·多態(Polymorphism)
    ·間接性(Indirection)
    ·純虛構(Pure Fabrication)
    ·防止變異(Protected Variation)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章