o 日期:2010/10/20 起,每週六白天。
每次上課為六個小時(AM 9:30~PM 4:30),共八個星期。
o 預定上課日期:10/20, 10/27, 11/03, 11/10, 11/17, 11/24, 12/01, 12/08
o 地點:上課前兩週會公佈 (上課地點均近北市各捷運站,方便學員交通)
o 附贈完整系統分析文件範本 (Word 格式)與可執行的 C# 程式原始碼。
o 線上預約報名者,贈送 UML 著書:「UML 協同合作與管理第二版(C#.NET版)」
(已有可抵優惠 NT$400)。
o 同課程可保留再旁聽乙次的權利
(.NET/J2EE 系統分析課程均可。報名時註明舊生旁聽即可)。
o 修習課程完成的學員均有結業證書 (諸多公司已認同本單位所傳授的課程與理念)。
o 附免費茶點 (最後一日結業時附外訂精緻下午蛋糕咖啡等茶點)。
§ 課程介紹
HSDc. 團隊綜合多年來的實務輔導經驗並結合大量研究的理論知識與平台技術,所推出關於完整的系統分析、設計至實作的課程,期能協助軟體開發人員在現實的工作中,能瞭解完整的開發流程與各個角色的工作執掌與產出。
在基於以架構為中心來建立團隊具共識的整體觀下,能聚焦在適切開發單位的功能點內,快速地從需求分析導出到實作,找出並克服開發過程中,包括溝通、技能與技術等風險因子。而後基於這樣的框架目標內,得以對系統的結構作重整,卻又不至於影響已有的功能前提下,得以對程式碼施以重構的技巧,讓系統更有延展度與彈性。
總的來說:作好功能需求分析-> 影響系統能不能做出來 ;
作好結構分析-> 影響系統有沒有彈性** 基於已上課學員們普遍的意見與期望的內容,我們把 功能實作/結構設計 的內容比例調整為 60%/40%。不特別著墨 Java 更為深入 的實作技術 (爾後會依主題開設技術性的單元課程)、而更多在結構的設計與分析,如設計樣式的解釋與範例演練、大型系統的結構萃取技巧等傳授。
觀念的傳授、設計的圖形化塑模表達、程式碼的實作三層次,是我們對於系統分析設計與實作課程的基本原則與態度。
修習本次系統分析的學員們,也必然可以拿到完整的教材、完整案例的 Model 檔與實作程式碼的對應,帶回去自行練習,並能對映於工作上,如此才會有顯著且實質的效益。
我們期能讓學員們上完課後,能以我們所提供的案例,包括設計模型與程式碼,當成範本而可以應用於工作實務上,甚而可以創造所屬自己的 "樣式(Pattern)"。
HSDc. 軟體團隊,強調的是「虛」與「實」兩者調和的『知行合一』...。
§課程簡述
本課程引導與協助學員先對系統開發流程有全貌的認識,並傳授軟體設計必備的基礎功夫,然後才去瞭解如何利用 UML 表達設計思維,從系統外觀與結構等各個構面產出有效的設計。
強調馬上就可以從設計導出符合 .NET 的實體三層式架構,並利用 LINQ 實際連結資料庫;利用 Entity Framework 實現虛擬 DB的設計,開發出高品質的 Enterprise 系統。
快速產出程式碼(包含功能測試碼)的目的在於可以應付專案的交付,並且可以提昇團隊的信心(眼見為憑),然後在第二個開發的循環 (Iteration),將程式碼重構,專注在系統的結構重整,而得以讓整體系統俱足彈性、延展性與可重用性。
§使用工具:
o EA(Enterprise Architect) 8.x(Trial) UML Tool、 Visual C# 2010 Express(Free) IDE、SQL Express 資料庫(均會附於教學光碟內)。§授課講師:
o 賴信仁(Ringle Lai)、王克明(Kenming Wang)、宋敏如(Cathy Sung)、陳亞瑟(Arthur Chen)。
o 擅長以非常淺顯易懂的比喻及說明,將複雜的系統抽絲剝繭,重新釐清脈絡,讓學員一清二楚,並善於引導學員具備設計應有的反思能力。§適合學員:
o 系統分析/設計(SA/SD), PM, Programmer 等在職軟體開發者。
o 學校資訊講師/在學相關資訊科系學生。
o 學員最好有基本的程式設計能力(基本即可)。
§報名與費用相關資訊
§課程費用:
o 大學/研究所 資訊相關科系講師、助教或教授,出示相關證明,我們會以建教合作方式計費。(請另以電話聯絡)
o 清貧或由家扶中心推薦,請出示相關證明,所有費用 免費!!o備註:
o 教室設備包括白板與投影機,由講師親自說明與操作示範。(學員可攜帶錄音筆)
o 學員最好能攜帶 Notebook(可無線上網),可以於課程中實際操作與練習。
o 上過本課程(.NET/Java 均可)學員,仍可免費旁聽本課程。(保留 10 名學員名額。)
o 本課程上課學員需滿 20 人以上,若未達上課人數則延期至下一梯次開課,已報名學員,本中心會電話通知,並主動辦理退費(或可保留至下一梯次)。
o 開課前一週會以電子郵件聯絡與通知學員。
§課程大綱
§ Iteration #1 (24 hrs)
o 課程階段目標: 捕捉系統功能需求,快速設計,立即產出程式碼一、軟體開發方法論—開發流程與塑模 (6 hrs)
o 簡介專案開發的工作流程
o 專案中各個角色人員的工作執掌
o 專案中各個階段的產出(artifacts)介紹o 軟體開發的最佳實務
o 以架構為中心(architecture centric)的開發
o I&I(Iteration and Incremental) 漸增與漸進
o 視覺化的方式設計軟體模型 (Visually Model Software)
o 需求的變動管理與持續驗證軟體的品質
o 侷限與收斂軟體的變動性o 軟體塑模— 統一塑模語言(UML, Unified Modeling Language)的綜觀介紹
o 利用完整案例導引來介紹 UML 的十三種圖形二、需求面的功能分析設計—Modeling by UML 三劍客 (12 hrs)
o 從表達企業流程(Business Process)的活動圖導出到使用案例圖o 建構使用案例模型,實現企業流程的需求
o 利用使用案例圖表達系統的功能需求
o 如何界定系統範圍(System Boundary)
o 如何找出使用案例與參與者(Actor)
o 使用案例之間的關係— include and extend
o 利用使用案例圖表達架構觀點
o 使用案例敘述(Description)的寫作實務
o 如何寫出高品質的使用案例敘述
o 如何依據使用案例範本完成使用案例敘述的撰寫
o 如何表達正常、替代、擴充與例外事件流程的敘述
o 寫好每一條動作步驟陳述的要領
o 針對每一個使用案例,撰寫測試案例 (Test Case)
o 利用 EA "Document Generation" 機制產出美輪美奐的需求報表文件o 使用案例的實現(Realization)與實作(從使用案例到循序圖到產出程式碼)
o 利用類別圖設計與創建 Use Case 控制物件,以實現使用案例的功能需求
o 利用循序圖表達程式碼物件的互動設計三、案例分析與實作 - Iteration #1 (6 hrs)
o 利用 EA UML 工具
o 實做使用案例模型(Use Case Model)、類別圖、循序圖
o 利用 Code-Generator 機制,產出 C#.NET 程式碼框架
o 設計控制 (Control)物件,實現使用案例所交付的功能需求
o 利用 Entity Framework,實際連結 SQL Server 存取資料。
o 利用 Object Data Model,成為 UI 與控制物件 間的參數傳遞型別
o 利用 Visual C# 2010 Express IDE 撰寫
o ASP.NET Web 表單
o 控制(Control) 物件 by C#.NET
o 利用 NUnit 撰寫功能測試程式碼§ Iteration #2 (27 hrs)
o 課程階段目標: 重構程式碼與類別結構,讓系統更有彈性。一、物件導向觀念養成與應用 (6 hrs)—觀念、模型與程式碼的三面表達
o 介紹「概念(concept)」與「抽象(abstraction)」的觀念
o 確實瞭解「類別(class)」與「物件(object)」的區別與關係
o 結合(association)、組合(aggregiation)與
一般-特殊化(generalize-specialize)關係的說明
o 封裝(encapsulation)與多型(polymorphism)的設計觀與應用
o 瞭解繼承(Inheritence)與介面(Interface)」的設計原理
o 程式碼範例—
o 利用 C#.NET 程式碼表達類別的結構關係(結合,組合,一般-特殊化)
o 利用 C#.NET 程式碼呈現介面與多型的設計實作二、軟體結構面的分析與設計 (12 hrs)
o 建構領域至物件模型的技巧與方法
o 從使用案例的敘述中找出潛在的概念物件。
o 運用交易樣式(Transaction Patterns)找出核心交易物件
o 資料庫表格的設計
o E-R (Entity-Relationship) Model 的分析與設計
o 利用 EA UML 工具設計 E-R 圖,並轉為可以匯入資料庫的 DDL SQL 敘述檔
o 企業物件的設計
o 物件的責任分派(responsibility assign) — 屬性與行為的分析
o 利用 UML類別圖 建構領域的物件模型 (Business Object Model)
o 活用設計樣式(design pattern)
o Design Pattern Overview - 生成類、結構類、行為類 總覽介紹
o 合成(composite)樣式的設計 — BOM 表的最佳呈現
o Facade and Adapter 樣式,表達在 Control and Boundary 物件的設計原則
o 分析類別(Analysis Class)的設計
o Control 物件
o Entity (Business)物件
o Boundary 物件三、程式碼的重構 (12 hrs)
o 程式碼重構的設計原則
o 利用委託(delegate)的技巧,確實釐清物件的責任分派 (Responsibility Assign)
o 分析類別在 中間層 (Middleware) 的實現
o 實現 Controller by C#.NET
o 實現 O-R Mapping by DataSet
o 實現 企業物件 by C#.NET
o 連結實體資料庫
o VDB (Virtual DB) 虛擬資料庫物件的設計與實作
o 控制物件, 企業物件, DAO 物件 三者的職掌與相依性分析
o 控制物件連結 DAO 與 企業物件
o 企業物件連結 DAO 物件四、案例分析與實作 - Iteration #2 (實做部分涵蓋於上述課程內)
o 利用 Visual C# 2008 Express 重構程式碼的結構
o 利用 EA 更新類別與E-R圖,並重新部署 DDL DB Schema 至 SQL Express Server
o 利用 EA 實現正反向工程,達成程式碼與 Model 的同步
o 利用 Iteration #1 所撰寫的測試碼驗證與修正被重構的程式碼§ 整體開發流程總複習
o 檢視兩個循環(Iteration)開發所各自產出的設計圖與程式碼
o 回顧每一個流程開發階段的產出與所運用的設計、技術與技能
o 學員課程中的問題提問與回答總整理
----------------------------------------------------------------------- o 諮詢專線:TEL: 092236977
o 服務信箱:gnimnek168@gmail.com
o FB社團:軟體設計鮮思維