iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

資訊工程大補帖系列 第 6

資工補帖-Day 6-系統分析與設計

  • 分享至 

  • xImage
  •  

正文

圖片來自網路,若有版權請聯絡我將圖片撤下:



這是一門軟體工程蠻重要的課程,基本上你會在這個課程學會以下這些東西

  • 情境
    • 這個網站或是系統主要是用在什麼情境上面
  • 需求分析
    • 流程圖
    • 處理描述
    • 分析
    • 藍圖
    • 資料詞彙
    • 講解

名詞解釋

  • 資訊系統開發模式(Information System Development model)

    • 又稱 軟體流程模式(Software Process Model)
    • 資訊系統開發過程中一系列步驟與執行程序。
  • 常用的資訊系統開發模式

  • §瀑布模式( Waterfall Model ) vs 漸增模式( Incremental Model )

    • 開發時機皆為:明確需求(使用者需求可明確描述)
    • 漸增模式為瀑布模型的擴充,強調需求可被分成幾個漸增部分。
      1. 漸增模型各子系統可獨立開發,瀑布模型則同時進行。
      2. 漸增模型由多個週期開發,都有使用者參與,因此風險較低。
  • §雛型模型( Prototyping Model)

    1. 開發時機:沒有明確需求
    2. 兩種策略
  • 用後丟棄式雛型策略 vs 演進式雛型策略

    • 差別在於雛型建立後,一個丟棄,一個繼續演化。
  • 用後丟棄式雛型策略(Rapid Throwaway Prototyping Strategy)

    • 目的於用完即丟,用在風險最高的地方。
  • 演進式雛型策略 (Evolutionary Prototyping or Evolutionary Development Strategy)

    • 該雛型與使用者溝通,以確定、修改和擴充需求,並藉以作為下一週期雛型演進之依據。該週期不斷地反覆進行,直到雛型系統符合雙方約定為止
  • §敏捷軟體開發 (Agile Software Development)

    • 動態系統開發方法 (Dynamic Systems Development Method, DSDM)
  • 結構化技術

    • 強調應用概念、策略與工具,提升系統分析與設計、程式設計與測試之效率與效能,包含以下四種。
    1. 結構化分析 (Structured Analysis)
    2. 結構化設計 (Structured Design)
    3. 結構化程式設計 (Structured Programming)
    4. 由上而下發展 (Top-down Development)
  • §結構化分析 (Structured Analysis)
      - 主要目的是將資訊系統依由上而下發展,並將程式設計模組化與結構化。

    • ※塑模工具

      1. 事件 (Event List)
      2. 環境圖 (Context Diagram)
      3. 資料流程圖 (Data Flow Diagram, DFD) 顯示系統內實體與儲存資料的關係
      4. 資料字典 (Data Dictionary, DD)
      5. 處理規格描述 (Process Specification, PS)
      6. 實體關係圖 (Entity Relationship Diagram, ERD)
        • 實體、關聯、資料元素提供概念性邏輯結構
        • 矩形:代表實體類型(Entity Type) 
        • 菱形:代表實體類型與實體類型間之關係 (Relationship) 
        • 橢圓形:代表實體類型或關係之屬性(Attribute) 
        • 實線:把屬性連結到實體類型或把實體類型連結到關係 
        • 基數(Cardinality):代表實體類型與實體類型間之關係程度。
        • 關係程度可以是一對一、一對多(或多對一)或者多對多。
      7. 狀態轉移圖(State Transition Diagram, STD)
    • ※模組

    • 程式的模組(Module)是一連串指令的集合:

      1. 模組名稱:唯一且應有意義,能表達模組的功能。
      2. 輸入:呼叫一模組所需輸入的資料。
      3. 輸出:模組執行後所產生的輸出,與輸入合稱為模組的介面。
      4. 處理邏輯:模組內必須具備的執行程序,以達成模組的功能。
      5. 內部資料:模組獨自擁有而不與其他模組共用的資料。
  • §結構化設計 (Structured Design)

    • 決定系統應有哪些模組、模組間以何種方式相互聯繫能最有效解決問題。
    • 特別強調系統的結構化與可維護性
  • §結構化程式設計 (Structured Programming)

  • §由上而下發展 (Top-down Development)

    • 由上而下設計 (Top-Down Design)
      • 大問題分解成小問題
    • 由下而上設計(Bottom-Up Design)
      • 考慮底層項目由上組合成高層次程式
    • 由上而下編碼 (Top-Down Coding)
      • 設計好之後直接寫程式
    • 由上而下實施(又稱由上而下整合測試) (Top-Down Implementation)
  • 單元測試→整合測試→驗收測試→系統測試

  • 白箱測試 vs 黑箱測試

    • 殘根模組:用來代替下一層未完成的模組
    • 由下而上實施(又稱由下而上整合測試)
    • 啟動模組:用來逐次往上測試
  • ※殘根模組:由上而下整合測試

  • ※啟動模組:由下而上的策略

    • 程式模組品質重要因子
  • 內聚力:

    • 評估模組內部所處理事情之相關程度( 衡量模組完成一件單一且定義清楚之工作的程度)。
  • 耦合力:

    • 評估系統內部各模組之間的相關程度( 衡量模組間相互關聯強度的方法)。
    1. 資料耦合力
      • 模組間傳遞參數為簡單型別
    2. 資料結構耦合力
      • 模組間傳遞參數為複雜型別
  • 關聯表(關係表)

    1. 對每一個一般性實體類型建立一個關聯表
    2. 每對一個弱實體類型建立一個關聯表
    3. 對於每一個多值屬性建立一個關聯表
    4. 對M:N關係建立一個關聯表
    5. 處理兩實體類型間之1:1關係
    6. 處理兩實體類型間之1:N關係
    7. 對ñ元關係建立一個關聯表
  • 正規化(Normalization)

    • 是將資料屬性組合成一具有良好結構之關聯表的過程。
      • 異常(異常)
      • 異常新增
      • 刪除異常
      • 更改異常
      • 相依性
      • 功能相依性(FD):屬性間限制,關係多對一
      • 完全功能相依
      • 部分功能相依
      • 遞移相依
  • 正規化步驟

    • 正規化滿足條件
      1NF:去除關聯表多值或複合屬性
      2NF:滿足1NF,去除資料部分功能相依
      3NF:滿足2NF,去除資料遞移相依
      BCNF:滿足3NF,去除因功能相依造成的異常
      4NF:滿足BCNFNF,去除所有多值相依
      5NF:滿足4NF,去除剩餘所有異常情況

系統分析與設計/UML 推薦連結


上一篇
資工補帖-Day 5-Shadon
下一篇
資工補帖-Day 7-行動應用程式開發
系列文
資訊工程大補帖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言