[軟體課程] C#.NET 開發三層式架構應用系統 Step by Step (2021/12/04, 12 Hrs)

報名資訊

上課日期:2021/12/04, 05
週六日上課 (09:30 ~ 16:30),共 12 小時。 確定開課

(歡迎來電洽談企業內訓包班課程,課程案例與實作可以採該單位專案內容來規劃)

{疫情關係,採網路遠距上課,使用 Microsoft Team
課程講授會全錄製,並於課程給予學員方便複習
}
(歡迎來電洽談企業內訓包班課程,課程案例與實作可以採該單位專案內容來規劃)
優惠價 (原價 NT$ 12,000):NT$6,500
兩人同行:NT$ 6,150
四人揪團:NT$ 5,800
線上報名

課程介紹

這絕對是一個可馬上被應用到工作實務的實作範例,讓學員可以知道,只要確立了可滿足使用者特定目的的系統功能,並大致勾勒出實現功能的主要程序/步驟,就可以馬上導出到控制類別的程式碼。而傳統資料導向的開發模式,卻往往需要等待需求分析的細節與資料庫的表格定義,甚至把表單欄位與資料庫表格耦合一起,難怪乎開發速度相當遲緩。

本課程主要讓學員瞭解「目標導向」的開發方式,應用在學習所謂「新的 IT 技術」,尤其是偏向實作面的 「How-to」,包括工具的操作,與程式的寫碼等,是如何從所設定的主要完成目標 (main-goal),再分解成數個階段性的子目標 (sub-goal),然後一次只克服一小段問題,再往前漸增推進,往下一個階段目標前進。

本課程會從建構具延展與彈性度的「三層式架構系統」實作過程中,讓學員了解 C#.NET 主要實作技術的應用,包括「ASP.NET MVC」、「Entity-Framework」的 O-R Mapping 技術。然後透過馬上撰寫「單元測試 (Unit Test)」的把關,後續就可以放心地對程式碼實行「重構 (refactoring)」,讓程式碼更簡潔易於維護具彈性度。

從實作練習的過程中,逐漸熟習工具與相關實作技術的使用。「快速學會 How-to (如何做)」的能力,才是技術人員首需具備的技能 (skill)。

課程目標

  • 藉由一個小型的案例演練,來展示開發階段 (包括 需求分析、結構設計、程式實作) 的主要產出 (artifacts),以及這些產出之間的關聯性。
  • 展示目標導向的功能開發,如何快速從需求分析流暢地橋接至程式寫碼。
  • 了解三層式架構的系統開發,如何可以應付未來系統重構,讓系統更具彈性與延展性。
  • 了解 .NET 在 ASP.NET MVC 與 Entity-Framework 兩種關鍵技術的應用,並藉由中間層服務類別隔離兩者之間的耦合。
  • 提供作為開發人員的實作範本,可以馬上應用在工作實務上,並未來可以擴展成為團隊的「實作學習筆記」。

課程對象

  • 以 C#.NET (VB.NET 亦可) 的程式設計開發者。
  • 新進開發人員可擁有應用在工作實務的開發範本。
  • 技術職主管希望團隊有可以符合三層式系統架構的開發模板。
  • 學校資訊講師/在學相關資訊科系學生。
  • 希望了解 UML 塑模產出與程式碼之間的對應關係。

課程大綱

課程單元 課程大綱
案例描述與實作目標
  • 關於三層式應用系統架構設計的說明與目的
  • 利用使用案例 (Use Case) 界定系統開發功能 - 開發主題 (Subject)
  • 利用系統循序圖 (sequence diagram) 表達系統功能實現程序 - 實現步驟 (Step)
  • 快速導出到 C#.NET 服務 (service) 類型程式:
    服務類別 => Subject , method => Step
  • 立即撰寫單元測試程式碼 (unit test code) - 使用 MS Test 測試框架
  • 透過服務類別有效隔離資料庫與 Web UI 表單畫面的耦合
  • 重構 (re-factoring),讓程式碼更簡潔易於延展與維護
Iteration#1-
從需求快速導出到實作,建立程式碼框架
  • 建置 Visual Studio 2019 Community & UML 工具的開發環境
  • 說明系統功能的界定與實現方式
  • 建立 C#.NET 服務類別程式碼框架,對應系統功能的分析產出
  • 規劃測試案例與測試數據,並利用 MSTest 撰寫單元測試程式
  • 建立 ASP.NET Web MVC 專案,實作可操作系統功能的 Web 表單畫面
  • 規劃 DTO (Data Transfer Object) 資料傳遞物件,作為 Tier 各層之間物件傳遞的參數/回傳值
  • 使用內嵌的 Sqlite 作為開發資料庫,建立資料庫表格,產出標準 DDL (Data-Defintion Language) SQL
  • 讓服務類別透過 EF (Entity Framework) 框架實際存取資料庫
Iteration#2-
更新處理邏輯與加入更多欄位細節,並對共用部分做萃取重構
  • 修改程式碼細節,包括資料欄位與業務邏輯的實作
  • 在程式碼內新增對例外處理 (exception handling) 的實作
  • 從控制類別萃取共用性/複雜的商務邏輯,並設計共用性的領域物件 (domain object)
  • 將原來資料庫的存取邏輯,從控制類別抽離至 DAO (Data Access Object) 物件
  • 新增測試案例,並利用單元測試程式把關,確保每一次程式碼變動的正確性
※本案例實作效果:UI 完全隔離資料存取與邏輯處理﹔UI/物件模型/資料庫 可以達成各自維護與延展的高度彈性度!

課程費用

  • 參考課程報名說明。
  • 本系列課程若期再次旁聽,原價五折 (NT$2,900)。
  • 清貧或由家扶中心推薦,可留言說明或電話聯繫,所有費用 免費!
**備註**
  • 上述課程費用已含電子教材檔、UML Model檔、程式源碼 (含版控)。
  • 為確保報名足額人數,煩請報名完成後再以 ATM 轉帳預約費用 ($1000,當然也可一次繳清)。
  • ATM 轉帳帳號請參考報名表單內匯款帳號。並請於報名確認信所附鏈結點選編輯,可於報名表備註欄位內,註明您的轉帳帳號末 5 碼與轉帳金額。
******

參考產出

參考文章
 o 實作三層式架構應用系統的 POC-觀念篇

主要產出

o 三層式應用系統架構規劃
Enterprise MVC 分層結構

o 系統功能 by 使用案例 (Use Case)
系統功能 by 使用案例 (Use Case)

o 規劃系統循序圖 (System Sequence Diagram)
規劃系統循序圖 (System Sequence Diagram)

o 中間層類別圖 (class diagram)
中間層類別圖 (class diagram)

o 資料庫表格設計 (Database Table)
資料庫表格設計 (Database Table)

o Visual Studio.NET 2019 專案規劃
Visual Studio.NET 2017 專案規劃

o 領域控制類別 (Domain Control Class)
領域控制類別 (Domain Control Class)

o 單元測試程式 (Unit Test Code)
單元測試程式 (Unix Test Code)

o 資料存取物件 (DAO, Data Access Object)
資料存取物件 (DAO, Data Access Object)

o 資料傳遞物件 (DTO, Data Transfer Object)
資料傳遞物件 (DTO, Data Transfer Object)

o ASP.NET UI 控制類別
ASP.NET UI 控制類別

o ASP.NET View
ASP.NET View

o Web UI 執行畫面 - 列出菜單
Web UI 執行畫面 - 列出菜單

o Web UI 執行畫面 - 結帳
Web UI 執行畫面 - 結帳

o Web UI 執行畫面 - 執行結果
Web UI 執行畫面 - 執行結果

備註資訊

授課講師:
 Kenming Wang
 o 具有近20年豐富教學與顧問輔導經驗。
 o 擅長引導學員反思並找出答案。
 o 專長大型系統架構規劃、企業/系統流程與系統分析、
  巨觀/微觀結構設計、精通 .NET/Java 兩大平台技術應用。
 o 專職軟體設計顧問/講師。

備註:
 o 課程講授與操作過程均會錄影,課後會把完整錄影操作視頻給予上課學員。
 o 若未達上課人數 (原則以5人以上) 則延期至下一梯次開課;
  已報名學員可申請退費(或可保留至下一梯次)。
 o 開課前一週會以電子郵件/電話聯絡通知學員。


如有課程相關問題,歡迎來信或來電洽詢
---------------------------------------------------
電郵: gnimnek168@gmail.com
Blog: http://www.kenming.idv.tw
軟體設計鮮思維:
https://www.facebook.com/groups/softthinking/
聯繫電話: 0922236977

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *