[緊急通知] 由於蘇力颱風於星期六來襲,原定本週六 (7/13)開課不得以順延乙週,改為 7/20 星期六開課。
因金華街教室滿班,故 7/20 開課地點暫改為:
加爾第咖啡莊敬店。北市信義區吳興街269巷1弄21號
電話:(02) 2345-1136
http://kaldi-coffee.com.tw/mainwebsite/about4_a.html
(我們會免費提供高單價單品咖啡與甜點免費暢飲,以示補償。)
後續課程則改回金華街教室,地址:台北市金華街26號。
=================================================================
(同等課程原價學費為 $30,000 以上)
o 附贈完整系統分析文件範本 (Word 格式)與可執行的 C# 程式原始碼。
o 已預繳報名費用學員,亦可選擇另 UML 著書:「「UML 團隊開發流程與管理」」。
o 第二版整本重寫,比原第一版新增 100 餘頁,並同時附 Java 可執行的原始程式碼。
o 同課程可保留再旁聽乙次的權利
(.NET/J2EE 系統分析課程均可。報名時註明舊生旁聽即可)。
o 修習課程完成的學員均有結業證書 (諸多公司已認同本單位所傳授的課程與理念)。
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 機制,產出 Java 程式碼框架
o 利用 EA 反向工程功能,在 IDE 環境內修改程式碼,並反轉(Reverse)回 UML Model。o 設計控制 (Control)物件,實現使用案例所交付的功能需求
o 規劃 JavaBean Value Object,成為 UI 與控制物件 間的參數傳遞型別
o 利用虛擬碼(Pseudo Code)撰寫程式碼內部的細節o 利用 Java Eclipse IDE 撰寫
o Java Struts Web 表單
o Java 控制(Control) 物件 by JavaBean
o Java 資料存取物件(DAO) by Hibernateo 利用 JUnit 撰寫功能與單元測試程式碼
o 測試先行—在 IDE 工具內撰寫該控制物件的測試程式碼o 應用程式的部署(Deploy) - Apache Tomcat & Derby DB.
o 實際執行應用程式碼的部署與執行功能測試§ Iteration #2 (24 hrs)
o 課程階段目標: 重構程式碼與類別結構,讓系統更有彈性。一、物件導向觀念養成與應用 (6 hrs)—觀念、模型與程式碼的三面表達
o 介紹「概念(concept)」與「抽象(abstraction)」的觀念o 確實瞭解「類別(class)」與「物件(object)」的區別與關係
o 結合(association)、組合(aggregiation)與
一般-特殊化(generalize-specialize)關係的說明o 封裝(encapsulation)與多型(polymorphism)的設計觀與應用
o 瞭解繼承(Inheritence)與介面(Interface)」的設計原理
o 程式碼範例—
o 利用 Java 程式碼表達類別的結構關係(結合,組合,一般-特殊化)
o 利用 Java 程式碼呈現介面與多型的設計實作二、軟體結構面的分析與設計 (9 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 物件三、程式碼的重構 (6 hrs)
o 程式碼重構的設計原則
o 利用委託(delegate)的技巧,確實釐清物件的責任分派 (Responsibility Assign)o 分析類別在 中間層 (Middleware) 的實現
o 實現 Controller by JavaBean
o 實現 O-R Mapping by Hibernate
o 實現 企業物件 by JavaBeano 連結實體資料庫
o VO(Value Object)資料庫物件的設計與實作o 控制物件, 企業物件, DAO 物件 三者的職掌與相依性分析
o 控制物件連結 DAO 與 企業物件
o 企業物件連結 DAO 物件四、案例分析與實作 - Iteration #2 (實做部分涵蓋於上述課程內)
o 利用 Eclipse 重構程式碼結構
o 利用 EA 更新類別與E-R圖,並重新部署 DDL DB Schema 至 Derby DB 內
o 利用 EA 實現正反向工程,達成程式碼與 Model 的同步
o 利用 Iteration #1 所撰寫的測試碼驗證與修正被重構的程式碼§ 整體開發流程總複習
o 檢視兩個循環(Iteration)開發所各自產出的設計圖與程式碼
o 回顧每一個流程開發階段的產出與所運用的設計、技術與技能
o 學員課程中的問題提問與回答總整理
-----------------------------------------------------------------------
=================================================================
o 諮詢專線:TEL: 092236977
o 服務信箱:gnimnek168@gmail.com
o FB社團:軟體設計鮮思維