敏捷式系統分析設計與實作—活用 UML/SCRUM 與 C#.NET (2017/07/15, 48 Hrs)

in

** 所有程式碼 & UML Model,均以開源 (open-source)方式放置於 Git-Hub 供學員免費下載與持續更新。 **

要達成有效的系統分析與設計,強調的是「敏捷 (Agile)、務實性的設計,以及可具重構的程式碼框架」:

 o 符合 Agile/SCRUM 的敏捷快速開發精神,快速從分析導出到實作,實踐 I&I (漸增與循環)精髓。
 o 界定功能需求,建立 MVC 程式碼框架,打通從 UI->中間層->資料庫的管道。
 o 強調實作的設計,應用 Enterprise Solution,建立從 Web → POCO → 資料庫的系統實作。
 o 利用實作案例,演練如何重構程式碼,並列舉重構的判斷原則與主要技巧。

報名資訊

§上課日期:
 o 日期:2017/07/15 起,每週六白天。
  每次上課為六個小時 (AM 9:30~PM 4:30),共八個星期。
 o 預定上課日期:07/15, 07/22, 07/29, 08/05, 08/12, 08/19, 08/26, 09/02
 o 上課地點:上課前一週以電郵/電話通知學員。

§課程費用:
 o 特價優惠:NT$ 16,800, 含稅。舊生或三人同行再折扣為: NT$ 15,100。
 o 大學/研究所 資訊相關科系講師、助教或教授,出示相關證明,我們會以建教合作方式計費。 (請另以電話聯絡)
 o 清貧或由家扶中心推薦,請出示相關證明,所有費用 免費!!

§備註:
 o 教室設備包括白板與投影機,由講師親自說明與操作示範。 (學員可攜帶錄音筆)
 o 學員最好能攜帶 Notebook (可無線上網),可以於課程中實際操作與練習。
 o 上過本課程 (.NET/Java 均可)學員,仍可免費旁聽本課程。(每次保留 5 名學員名額。)
 o 若未達上課人數 (原則以10人以上)則延期至下一梯次開課,已報名學員,本中心會電話通知,並主動辦理退費 (或可保留至下一梯次)。
 o 開課前一週會以電子郵件聯絡與通知學員。
 o 遇國定假日或颱風等因素,則延至下一週上課日 (本中心會主動通知學員),以此類推。

 ******
 o 為確保報名足額人數,煩請先以 ATM 轉帳預約費用($1000,當然也可一次繳清)。
  並請於報名表備註欄位內,註明您的轉帳帳號末 5 碼與轉帳金額。
  (若實在不及轉帳者,仍可現場報名,但請在報名表內註明現場繳費)。
 o ATM 轉帳帳號: 新光銀行 (103) 帳號: 0772-50-100979-9

--------------------------------------------------------------------------------
§課程諮詢(HSDc. 軟體設計專業顧問團隊):
 o 諮詢專線:TEL: 02-27227179
 o 服務信箱:service.hsdc@gmail.com
 o http://www.hsdc.com.tw

Signups closed for this Course

3 individuals signed up
3 anonymous

課程介紹

關於課程介紹的相關資訊。

******
1. 本課程包括 UML Model & C#.NET/JAVA 完整程式碼均會以開源 (oper-source)方式置於 GitHub 供學員免費下載與持續更新。
2. 課程的實作會同時提供 C#.NET 案例程式碼與 UML Model 檔。
3. 每一期同類型課程會以 C#.NET 與 Java/Srping 交替作為案例實作展示,學員可免費再次旁聽下一期不同程式語言的課程。
******

HSDc. 顧問開發團隊綜合多年來的大型系統實務輔導與開發經驗,並結合大量研究的理論知識與平台技術,所推出關於完整的系統分析、設計至實作的課程,期能協助軟體開發人員在現實的工作中,能瞭解完整的開發流程與各個角色的工作執掌與產出。

在基於以架構為中心來建立團隊具共識的整體觀下,能聚焦在適切開發單位的功能點內,快速地從需求分析導出到實作,找出並克服開發過程中,包括溝通、技能與技術等風險因子。而後基於這樣的框架目標內,得以對系統的結構作重整,卻又不至於影響已有的功能前提下,得以對程式碼施以重構的技巧,讓系統更有延展度與彈性。

觀念的傳授、設計的圖形化塑模表達、程式碼的實作三層次,是我們對於系統分析設計與實作課程的基本原則與態度。

修習本次系統分析的學員們,也必然可以拿到完整的教材、完整案例的 Model 檔與實作程式碼的對應,帶回去自行練習,並能對映於工作上,如此才會有顯著且實質的效益。

HSDc. 軟體團隊,強調的是「虛」與「實」兩者調和的『知行合一』...。

課程大綱

關於課程大綱的資訊。

o 第一階段課程目標 (24 Hrs):

 o 有效組織與整理系統功能需求
 o 快速設計、建立企業層級 MVC (Model-View-Control)框架
 o 產出程式碼骨幹,打通從 UI-中間層-資料庫 管道。

一、方法論-開發流程與UML塑模 (6 hrs)

 o 敏捷式的開發流程
  o 介紹 Agile/SCRUM 核心原則與開發方法。
  o 比較 瀑布式 vs. I&I (Increment & Iteration)的開發模式
  o 專案開發各階段(SA/SD/Coding)的主要產出(artifacts)範本
  o 軟體開發的最佳實務 (Best Practices)導引

 o 軟體塑模 - 統一塑模語言(UML, Unified Modeling Language)的綜觀介紹
  o 利用完整案例導引 UML 的十三種圖形 (Overview)
  o 說明 需求面/結構面/實作面 等三大構面的設計圖
  o UML 工具的示範操作
  o 完整 UML Model 範本 (附於課程操作光碟內)

二、需求面的系統功能分析與設計 (12 hrs)

 o 分析何謂企業流程與系統功能
  o 利用火箭圖/活動圖記錄企業流程
  o 利用使用案例圖捕捉系統功能
  o 從企業流程的活動圖導出到使用案例圖的步驟

 o 建構使用案例模型
  o 利用使用案例圖表達系統的功能需求
   o 如何界定系統範圍 (System Boundary)
   o 如何找出使用案例與參與者(Actor)
   o 使用案例之間的關係— include and extend
   o 利用使用案例圖表達架構觀點

  o 使用案例敘述 (Description)的寫作實務
   o 如何寫出高品質的使用案例敘述
   o 如何依據使用案例範本完成使用案例敘述的撰寫
   o 如何表達正常、替代、擴充與例外事件流程的敘述
   o 寫好每一條動作步驟陳述的要領

  o 使用案例的重點補充
   o 針對每一個使用案例,撰寫測試案例 (Test Case)
   o 利用 EA "Document Generation" 機制產出高品質的需求報表文件
   o 使用案例與 SCRUM 的實現關係
    o 如何定義 Sprint Backlog,並對應至 Use Case
    o 如何分解 System Backlog,並對應至 Use Case Scenario

三、案例分析與實作 (6 hrs) by UML 三劍客

 o 說明三劍客的應用時機- 使用案例模型、類別圖、物件合作循序圖

 o 使用案例的實現(Realization)與實作
  o 軟體開發的至高原則-Enterprise MVC (Model-View-Control)設計模式
  o 利用類別圖規劃 Use Case 控制物件,實現使用案例的功能需求
  o 利用系統循序圖表達參與者與系統間的訊息傳遞

 o 利用 EA UML 工具
  o 實做使用案例模型(Use Case Model)、類別圖、循序圖
  o 利用 Code-Generator 機制,產出 C#.NET 程式碼框架

--------------------------------------------------------------------
o 第二階段課程目標 (24 Hrs):
 o 封裝,物件與類別,介面與多型的基礎觀念
 o 系統延展、彈性、可重用性的設計原則
 o 如何重構程式碼 (類別結構)

一、物件導向觀念養成與應用 (6 hrs)
  — 觀念、UML 模型與 C#.NET 程式碼的三面向呈現

 o 介紹「概念 (concept)」與「抽象 (abstraction)」的觀念

 o 瞭解「類別 (class)」與「物件 (object)」的區別與關係
  o 結合 (association)、組合 (aggregation) 關係
  o 一般-特殊化(generalize-specialize)關係

 o 封裝 (encapsulation)的設計觀與應用
 o 介面 (Interface) 與 多型 (Polymorphism) 的 一般化/特殊化 設計原則

 o 程式碼範例—
  o 利用 C#.NET 程式碼表達類別的結構關係(結合,聚合/組合,一般化/特殊化)
  o 利用 C#.NET 程式碼呈現介面與多型的設計實作

二、軟體結構面的分析與設計 (9 hrs)

 o 建構領域 (Domain)至物件模型的技巧與方法
  o 從需求陳述中找出潛在的概念物件。
  o 運用交易樣式 (Transaction Patterns)找出核心交易物件

 o 資料庫表格的設計
  o E-R (Entity-Relationship) Model 的分析與設計
  o 利用 EA UML 工具設計 E-R 圖,並轉為可以匯入資料庫的 DDL SQL 敘述檔

 o 實體 (Entity)物件的設計
  o 物件的責任分派 (responsibility assign) — 屬性與行為的分析
  o 利用類別圖建構問題領域的物件模型 (Problem Domain Object Model)

三、案例分析與程式碼實作 by C#.NET (9 hrs)
 o 分析類別在中間層 (Middleware)的實現
  o 實現 Controller by POCO (Plain-old CLR Object)
  o DAO (Data Access Object)物件,應用 O-R Mapping 機制 (E.F Framework) 連接資料庫
  o 規劃 DTO (Data Transfer 物件)資料傳遞物件與 JSON 物件,作為各層物件間的參數/回傳值
 o Web MVC 表單畫面的設計,並連結至控制物件委託負責資料存取與邏輯運算

 o 撰寫單元測試程式與重構程式碼結構
  o 利用 Unit Test Framework/Tools 撰寫單元測試程式碼
  o 分析程式碼冗長的 method,撰寫 Clean Code
  o 找出程式碼重複多餘 (redundant)的部分,設計共用物件
  o 確實釐清物件的責任分派 (Responsibility Assign)

分類: 課程