SWSAD - Homework 2

SWSAD - Homework 2

Software System Analysis and Design

軟件項目與知識團隊管理基礎

1、簡答題

  • 用簡短的語言給出對分析、設計的理解。

    • 分析 (analysis):強調的是對問題和需求的調查研究,而不是解決方案。
    • 設計 (design):強調的是滿足需求的概念上的解決方案(在軟件方面和硬件方面),而不是其實現。

    有益的分析和設計可以概括爲:做正確的事(分析)和正確地做事(設計)。

  • 用一句話描述面向對象的分析與設計的優勢。

    分析師不必是“語言專家”,問題領域的專家和實現級別的專家可以使用通用符號進行交流。

  • 簡述 UML(統一建模語言)的作用。考試考哪些圖?

    統一建模語言(UML)是描述、構造和文檔化系統製品的可視化語言。

    UML是一種開放的方法,用於說明、可視化、構建和編寫一個正在開發的、面向對象的、軟件密集系統的製品的開放方法。UML展現了一系列最佳工程實踐,這些最佳實踐在對大規模,複雜系統進行建模方面,特別是在軟件架構層次已經被驗證有效。

    考試考的UML圖,十多種視圖,分4類:

    • 用例圖:用戶角度:功能、執行者
    • 靜態圖:系統靜態結構
      • 類圖:概念及關係
      • 對象圖:某種狀態或時間段內,系統中活躍的對象及其關係
      • 包圖:描述系統的分解結構
    • 行爲圖:系統的動態行爲
      • 交互圖:描述對象間的消息傳遞
        • 順序圖:強調對象間消息發送的時序
        • 合作圖:強調對象間的動態協作關係
      • 狀態圖:對象的動態行爲。狀態-事件-狀態遷移-響應動作
      • 活動圖:描述系統爲完成某功能而執行的操作序列
    • 實現圖:描述系統的組成和分佈狀況
      • 構件圖:組成部件及其關係
      • 部署圖:物理體系結構及與軟件單元的對應關係
  • 從軟件本質的角度,解釋軟件範圍(需求)控制的可行性

    由於軟件本身的複雜性、不可見性、一致性、可變性,軟件範圍多數情況下對於客戶和開發者都是模糊的,這形成軟件產品與其他產品不同的開發過程。因此,範圍管理是軟件項目管理的重中之重。在多數情況下,客戶與開發者能就項目的 20% 內容給出嚴格的需求約定,80% 的內容都是相對模糊的。因此,圍繞客戶目標,發現並滿足客戶感興趣的內容是最關鍵的。

    項目範圍的變更必然會造成項目進度計劃、人員安排、成本等各方面的變化,處理不當則會增加項目風險,甚至造成項目陷入混亂的狀態。

    範圍控制就是指監控項目的範圍狀態,管理範圍變更。範圍控制的目的是在出現範圍變更需求後,管理相關的計劃、資源安排以及項目成果,使得項目各部分可以很好地配合在一起,避免變更帶來的負面影響。

    未經控制的產品或項目範圍的擴大被稱爲範圍蔓延。變更是不可避免的,爲防止範圍蔓延,在每個項目上,都必須強制實施某種形式的變更控制。

    2/8 法則在軟件項目中有重要的應用。由於軟件的本質,軟件範圍是模糊的,但是通常細化 20% 有效需求,可滿足 80% 客戶需要。因此,正確發現並做好這 20% 正確的事情,將會使團隊在競爭中獲取領先的位置。

2、項目管理實踐

看板使用練習(提交看板執行結果貼圖,建議使用 Git project)

  • 使用截圖工具(png格式輸出),展現你團隊的任務 Kanban
  • 每個人的任務是明確的。必須一週後可以看到具體結果
  • 每個人的任務是1-2項
  • 至少包含一個團隊活動任務

在這裏插入圖片描述

UML繪圖工具練習(提交貼圖,必須使用 UMLet)

  • 請在 參考書2 或 教材 中選擇一個類圖(給出參考書頁碼圖號)

參考書2:Requirements Analysis and System Design, Leszek A. Maciaszek, 3rd Edition

P252, Figure 5.6

在這裏插入圖片描述

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