羅德興老師的教學歷程檔案 - 110-2 系統分析與設計 - 課程綱要
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    課程綱要

    一、
    (Sources: 曹永忠、許智成 (2013) 學習物件導向系統開發的六門課。台灣彰化:渥瑪數位。)


    需求探勘................................................................................................................ 9
    專案的形成.................................................................................................. 11
    第一次需求訪問.......................................................................................... 13
    第二次需求訪問.......................................................................................... 15
    第三次需求訪問.......................................................................................... 17
    第四次新需求訪問...................................................................................... 22
    章節小結...................................................................................................... 27

    分析與設計.......................................................................................................... 28
    眾多的需求.................................................................................................. 29
    利用個案圖抽象化作業流程...................................................................... 31
    相同的個案圖合併方法.............................................................................. 35
    使用個案圖把整個系統建立出來.............................................................. 37
    使用作業流程圖勾畫出整個系統架構...................................................... 39
    章節小結...................................................................................................... 43
    資料塑模.............................................................................................................. 44
    需求和資料的差異...................................................................................... 45
    系統化原有的使用個案案例書.................................................................. 46
    資料的形成過程-資料概念設計 ................................................................ 49
    一對多主檔產生過程.................................................................................. 53
    儲存的行為與衍生行為之資料塑模.......................................................... 58
    儲存資料同步與被驅動行為...................................................................... 61
    章節小結...................................................................................................... 63

    資料流程
    .............................................................................................................. 64
    軟體的核心.................................................................................................. 65
    透過系統化使用個案案例書找出作業清單.............................................. 66
    資料流程圖形成過程.................................................................................. 70
    活動圖形成過程.......................................................................................... 74
    資料類別建構一般法則.............................................................................. 77
    資料類別圖形成過程.................................................................................. 79
    透過作業流程分析產生資料類別圖.......................................................... 81
    章節小結...................................................................................................... 84

    程式設計規格書
    .................................................................................................. 86
    程式規格書需求的關鍵原因...................................................................... 87
    程式設計規格書的與系統分析文件的分野.............................................. 89
    程式設計規格書的分類.............................................................................. 90
    類別/模組之程式設計規格書 .................................................................... 91
    共用介面模組程式設計規格書.................................................................. 95
    人機互動系統介面之程式設計規格書...................................................... 98
    章節小結.................................................................................................... 104

    軟體測試
    ............................................................................................................ 105
    什麼是測試?測試的目標是什麼? ........................................................ 106
    軟體測試的目標........................................................................................ 107
    測試的種類................................................................................................ 111
    軟體測試案例書的設計............................................................................ 116
    人機互動系統畫面型測試........................................................................ 116
    整合測試的軟體測試案例書的設計........................................................ 119
    章節小結.................................................................................................... 123





    二、UML 三劍客
    (Sources: https://www.kenming.idv.tw/a_a_ra_eoscu_a_aarc_u_uml_ac_a_arce_amba_20/)


    學習軟體設計思維,期望是愉悅的快樂學習之旅!!

    系統分析三種觀點的設計與實現,也就是外部的功能觀點、內部的結構元素設計、與表達程式碼動態的物件互動;
    而這正是利用 UML 包括使用案例模型、類別圖與循序圖,號稱是 UML 三劍客所可以完成最精要的設計,
    也可以說這三者是在中小型的專案開發(我們定位中型專案在五千萬以內)最有效的設計利器。

    系統分析絕對不是與程式碼實作脫勾,在我們所揭露出的設計指引方針中,只要利用少數幾個設計原則,就可以很快速且直覺地從使用案例轉出到程式碼。
    而在其過程中,我們會建構代表每一個使用案例的控制物件,也可以把它視為是系統的代言人,
    先利用循序圖表達出參與者與控制物件的訊息互動,觀察出互動的訊息之後,再反回來設計分析性的控制類別,並很容易地就可以定義出它應該具備哪些 functional call。
    藉此,我們就可以利用如 EA UML 工具快速產出程式碼,得以建立程式框架。
    再來以後,我們就很清楚如何在控制類別的哪一個函式(method)上補充細節,
    包括演算邏輯、企業規則與欄位明細等。

    系統分析與程式實作本來就是系統的一體兩面,若是無法保持這些設計產出間的一致性,那肯定是系統分析的作法有問題。

    還有,我們從來都不主張寫文件,為文件而文件,那是最浪費時間與最糟糕的事。
    我們主張要做有效且精要 (essential)的設計產出 (artifacts),量少質精,
    然後再利用如 EA UML 工具的 “Document Generation” 機制,
    絕對可以產出上百頁美輪美奐包括需求規格、測試文件、字彙表、結構設計文件 …等,
    保證會讓主管滿意。而這些過程,只花不到五分鐘!

    以功能需求為導向的開發模式,是順應國內專案短線的生態需求,
    所以我們先專注在建構分析性的類別,讓系統最起碼先有實體的 MVC 框架,能隔閡 UI 與資料庫的耦合;
    而至於要讓系統能更順應需求的變動設計,
    則是在未來結構重整設計階段的課題—那是影響系統夠不夠有彈性,卻不是能不能做出來。
    我們主張務實,先做出來,並保留一些彈性,可以在未來資源充足與開發人員技能成長後,再施以結構的重整—也就是重構。

    ps. MVC模式(Model–view–controller)是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。

    所以以功能為導向的系統開發,我們的兩個配套措施,一個就是分析性類別;另一個就是測試程式碼。
    這裡我們會揭露出 XP 最重要的設計精髓—測試先行 (Test First),
    如何能確保爾後每次的需求變動,更改到程式碼時,就要確實能執行自動化的測試,以確保變更並沒有影響到既有的功能。

    課程內,將提供一個完整的案例,帶領學員實際演練並產出設計模型與程式碼(包括測試碼)等,
    同時還會當場由學員主動提出案例,等於是出考題一樣,由講師當場示範講解,當然,還是從需求分析到程式碼實作,一氣呵成。
     

    §課程名稱: 活用 UML 三劍客與實作程式碼

    §課程簡述:
     o 介紹系統分析的設計觀點與 UML 三劍客觀念引導。
     o 利用使用案例來捕捉系統的功能性需求,並快速導出到程式碼實作,以及撰寫測試程式碼驗證功能的正確性。

    §課程目標:
     o 讓學員瞭解系統分析的基礎觀點 (需求功能觀點、結構設計觀點、實作觀點)
     o 引導學員如何活用 UML 三劍客 (使用案例模型、類別圖、循序圖)。
     o 帶領學員建立使用案例模型 (Use Case Model),並佐以分析類別與物件循序圖,快速導出到程式碼 (Java)的實作。

    §課程特色:
     o 提供完整案例,示範與引導學員實際操作與練習。
     o 第一日上課時即會發送給學員教學光碟,內容提供 EA 7 試用版、JDK 1.6、Eclipse IDE 與本課程案例所有產出,以及研討會簡報等。
     o 本課程均保留與提供了學員免費再旁聽乙次同樣課程的權利,以一次低廉的收費,就可以擁有兩次上課的收穫,課程的師資、內容與品質,我們有信心是不會讓學員們失望的。

    §準備教材:
     o 由授課講師提供講義,包括教材內容、案例分析與範例。
     o 學員可攜帶相關 UML 參考書籍,並對於書中內容有問題者,可以直接提問。

    §使用工具: EA(Enterprise Architect) 7.0(Trial) UML Tool、JDK 1.6、Java Eclipse IDE。

     
    CH. 1
    使用案例文件 (使用案例說明書)的組成項目


    http://www.dotspace.idv.tw/Jyemii/umlcolumn/articles/umlwriting/tipdocusecase.htm

    bullet名稱(Name)。名稱應該明確的表明使用者的意圖或使用案例的用途,如「研究班招生 」。
    bullet識別代號(Identifier) [可選]。唯一識別 代號,如 「UC1701」,在專案的其他文件(如類別模型)中,使用這個識別代號來引用這個使用案例。
    bullet說明(Description)。 使用簡短的敘述來描述這個使用案例。
    bullet參與者(Actors) [可選]。與此使用案例相關的參與者名單。儘管這些資訊包含在使用案例 圖型內,但在沒有使用案例圖時,它有助於增加對該使用案例的理解。
    bullet狀態(Status) [可選]。指示使用案例的狀態,通常為以下幾種之一:進行中、等待審查、通過審查或未通過審查。
    bullet頻率(Frequency)。參與者行使(invoke)此使用案例的頻率。這是一個 自發性的問題,如使用者每登錄系統一次就會行使一次,或者每月才行使一次。
    bullet前置條件(Preconditions)。一個條件 清單,若使用案例包含條件,則行使使用案例之前必須先符合這些條件才可以通行。
    bullet後置條件(Postconditions)。一個條件 清單,若使用案例包含條件,則使用案例在成功完成以後,結果必須符合這些條件。
    bullet被延伸的使用案例(Extended use case) [可選]。此使用案例所延伸的使用案例(如果存在)。 延伸關聯屬於一般化的關係,其中延伸使用案例接續基本使用案例的行為。即是延伸使用案例的一連串活動,加入基本使用案例一連串的活動之中,藉以實現其目的。模型是以使用案例關聯 帶有 <<extend>> 造型來表示。
    bullet被包含的使用案例(Included use cases) [可選]。此使用案例所包含其他使用案例的名單。包含關聯 屬於一般化的關係,代表使用案例所描述其包含的行為,在另一個使用案例裡面。模型是以使用案例關聯帶有 <<include>> 造型來表示,也是眾所週知的使用(uses)具有 (has-a)關係。
    bullet假設(Assumptions) [可選]。當你撰寫此使用案例 文件時,有關領域裡正在作成的任何重要假設。您應該在一定的時候檢驗這些假設,或者將它們變為決策的一部分(請參閱下文),或者 簡單地將它們變成基本活動歷程或替代活動歷程的一部分。
    bullet基本活動歷程(Basic course of action)。參與者在使用案例中,所遵循 主要合乎邏輯的路徑。因為它描述了當各項工作都正常進行時,使用案例的工作方式,所以通常稱其為適當路徑(happy path)主要路徑(main path) 
    bullet替代活動歷程(Alternate courses of action)。使用案例中,很少使用的邏輯路徑, 只有在變更工作方式、出現異常或發生錯誤的情況下,才會使用該途徑。
    bullet修改歷史記錄(Change history) [可選]。關於使用案例的修改時間、修改原因和修改人 員的詳細資訊。
    bullet問題(Issues) [可選]。 若有這個必要,則列出與這個使用案例發展相關的問題(issues)或活動項目(action items)。
    bullet決策(Decisions)。 列出關鍵的決策,這些決策通常由 SME 作出,並且附屬於使用案例的內容。將這些決策記錄下來,對於維護小組記憶體(group memory)是相當重要的。


    Ex. 2  
    使用案例說明書
    參考 pp. 25~27 的表 6 
    使用案例說明書
    撰寫以下作業流程的使用案例說明書

    0. 安全庫存管理
    1. 進貨作業
    2. 會員管理
    3. 系統參數
    管理
    4. 盤點作業
    7. 料品採購關聯
    作業
    8. 廠商資料作業管理
    9. 員工績效管理 


     

    Ex. 3  系統化使用案例說明書
    參考 pp. 47~49 的表 8 
    使用案例說明書
    撰寫以下作業流程的使用案例說明書 (活動流程、系統流程)

    0. 安全庫存管理
    1. 進貨作業
    2. 會員管理
    3. 系統參數
    管理
    4. 盤點作業
    7. 料品採購關聯
    作業
    8. 廠商資料作業管理
    9. 員工績效管理 


    Ex. 4  透過系統化使用案例說明書 找出 作業清單
    參考 pp. 67~70 的表 9 
    使用案例說明書、表 10 作業清單
    撰寫以下作業流程的使用案例說明書 (活動流程、系統流程)

    0. 安全庫存管理
    1. 進貨作業
    2. 會員管理
    3. 系統參數
    管理
    4. 盤點作業
    7. 料品採購關聯
    作業
    8. 廠商資料作業管理
    9. 員工績效管理 


    Ex. 5  撰寫 類別/ 模組 之程式設計規格書
    參考 pp. 91~94 的表 11  客戶
    類別程式設計規格書
    撰寫以下作業流程 類別/ 模組 (擇一)之程式設計規格書

    0. 安全庫存管理
    1. 進貨作業
    2. 會員管理
    3. 系統參數
    管理
    4. 盤點作業
    7. 料品採購關聯
    作業
    8. 廠商資料作業管理
    9. 員工績效管理 


    Ex. 6  撰寫 軟體 測試 案例說明書
    參考 pp. 117~122 的表 14、15 兩份  
    測試 案例說明書
    撰寫以下作業流程 類別/ 模組 (擇一)之 測試 案例說明書

    0. 安全庫存管理
    1. 進貨作業
    2. 會員管理
    3. 系統參數
    管理
    4. 盤點作業
    7. 料品採購關聯
    作業
    8. 廠商資料作業管理
    9. 員工績效管理 

     


     

    全部共 0則留言
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應