【課程介紹】系統分析設計與實作—活用 UML 塑模 與 C#.NET (54 Hrs)

§課程說明

*** 上一期(2008/06/14~08/09) 頗受好評的「系統分析設計與實作」課程完美告一段落,緊接著 HSDc. 團隊預定於 11/01 推出本年度第二期系統分析/設計課程,並且將實作內容部分(上一期為 Java/Spring)改為利用 C#.NET/LINQ Framework 實現,也期能服務利用 .NET 平台開發的軟體人員,能具有完整系統分析、設計至實作的觀念知識與技能。 (本課程均提供免費再次旁聽乙次的機會,所以學員可以一次付費,即可享有同時瞭解兩個平台(.NET/J2EE)的實作產出方式) ***

HSDc. 於 2008 年度推出了完整的系統分析、設計至實作的課程,期能協助軟體開發人員在現實的工作中,能瞭解完整的開發流程與各個角色的工作執掌與產出。在基於以架構為中心來建立團隊具共識的整體觀下,能聚焦在適切開發單位的功能點內,快速地從需求分析導出到實作,找出並克服開發過程中,包括溝通、技能與技術等風險因子。而後基於這樣的框架目標內,得以對系統的結構作重整,卻又不至於影響已有的功能前提下,得以對程式碼施以重構的技巧,讓系統更有延展度與彈性。

傳統系統分析與設計的課程,經常是「昧於現實」,將需求分析/結構設計與程式碼實作拉得太遠,而造成軟體設計與實作的不一致。殊不知,所謂的軟體塑模與程式碼的實作必然是軟體系統的一體兩面,在軟體開發過程中,必然是要保持一致性,所以設計是要作精,而不是籠統的文件報告。關於文件,只是利用工具的文件產出功能,將平時已確實所作的設計,產出美輪美奐的文件報表而已。不要為文件而文件,還去加班熬夜,傷了身體,又浪費生命在不必要的地方,實在沒有意義。

還有系統開發與實作也不是「妥於現實」,利用 IDE 工具從 Web/Windows Form 直接連接資料庫的這種開發方式,只是讓軟體人員變得更笨,只要需求變動就導致牽一髮而動全身,系統是不會有任何的延展與彈性的。最起碼的一點設計良心,又能處在國內嚴苛的環境中,對於短線時程的專案,先將系統的命脈—企業邏輯的核心,全給統籌集中在中間層,也就是企業邏輯層—先求有! 再來才是求好!— 待系統能確實上線,能滿足使用者的需求後,再則老闆與客戶對開發團隊有了信心,肯給予更多的資源—包括人跟錢,團隊的技能也有了增長與更好的溝通默契。外在與內涵的條件均俱足下,就可以專致於對系統結構的重整,並對程式碼施以重構的技巧,而又不會影響既有的功能前提下,讓系統更具可重用性與延展性,甚而轉成產品以服務更多同類型性質的客戶,又能快速的客製化每一個單位的特殊化需求。

基於這樣的理念,我們主張系統分析與設計是要「務實」,不是「昧於現實」,也不是「妥於現實」,而是在現實與理想中找到那一個平衡點。所以課程規劃是分為兩個階段。第一個階段就是捕捉系統功能需求,快速設計,立即產出程式碼。重點就是要瞭解如何作好系統的需求分析與對應到程式碼的實作。本階段需要培訓的技能有物件導向的基礎知識、從使用者角度看待系統時的外部功能分析,抓出適切的功能點開發單位、從畫面、中間層物件到連結資料庫的實作能力等。還有,一定要配套的兩個設計措施,一為撰寫測試案例與功能測試程式碼,實現自動化的測試機制;另一為活用分析類別,先利用中間層的控制類別,集中與控管從畫面與資料庫而來的企業邏輯。 第二個階段就是傳統系統分析所說的 SD(System Design), 傳統是以資料庫的 E-R(Entity-Relation) 分析,在物件導向則是稱為領域模型的建立—包括找出物件與適切的分派責任。這可不是一件容易的事,事實上應該說要具備的抽象能力要相當高,所以為何我們覺得那種 SA->SD->PG 開發流程是不務實的,因為 SD 很難作得好,然後還要 PG 去等該階段的產出,又大部分是不正確,可以說是浪費開發資源與時間。程式碼可以直接反應功能的需求,但不一定要等結構分析,集中在控制控制類別的好處就是,我們可以很容易地對結構作重整、對程式碼作重構,卻又不會影響既有上線的功能。本階段的重點當然就是對所謂結構的分析技能培養,我們會兩種方式,一為從需求抓名詞的傳統方法、另一為揭露出以交易為核心的交易樣式,可以輕易地抓出一大串的企業元件。

總的來說: 作好功能需求分析-> 影響系統能不能做出來 ; 作好結構分析-> 影響系統有沒有彈性

觀念的傳授、設計的圖形化塑模表達、程式碼的實作三層次,是我們對於系統分析設計與實作課程的基本原則與態度。修習本次系統分析的學員們,也可以拿到完整的教材、完整案例的 Model 檔與實作程式碼的對應。程式碼是以 C#.NET 再搭配最夯的 LINQ Framework,當然,要直接對應 .NET 的實作程式碼,那也是相當直覺不是難事。我們期能讓學員們上完課後,能以我們所提供的案例,包括設計模型與程式碼,當成範本而可以應用於工作實務上,甚而可以創造所屬自己的 "Pattern"。 HSDc. 軟體開發團隊,關心每一位軟體人員的持續成長...。


§課程名稱:

系統分析設計與實作—活用 UML 塑模 與 C#.NET (54 Hrs)

§課程簡述:

o 本課程引導與協助學員先對系統開發流程有全貌的認識,並傳授軟體設計必備的基礎功夫,然後才去了解如何利用 UML 表達設計思維,從系統外觀與結構等各個構面產出有效的設計。並強調馬上就可以從設計導出符合 .NET 的實體三層式架構,並利用 LINQ 實際連結資料庫;利用 DataSet 實現虛擬 DB的設計,開發出高品質的 Enterprise 系統。快速產出程式碼(包含功能測試碼)的目的在於可以應付專案的交付,並且可以提昇團隊的信心(眼見為憑),然後在第二個開發的循環(Iteration),將程式碼重構,專注在系統的結構重整,而得以讓整體系統俱足彈性、延展性與可重用性。

§課程特色:

 1. 帶領學員實際走過(實戰練習與操作)兩個開發循環(Iteration):
   o #1. 從使用案例規劃控制類別,並繪製循序圖表達參與者與系統的互動,快速產出程式碼 — 實現系統功能,提昇團隊信心。
   o #2. 重構程式碼,活用設計樣式(design pattern),專注核心結構設計 — 讓系統的結構更有彈性。
 2. 贈送電子教學光碟:
   o 讓學員可以帶回家,透過自動安裝方式,即可擁有實際的開發平台與應用系統。
   o 包含了 EA(試用版) UML 工具/Visual C# 2008 Express/SQL Express ...等開發工具, 以及具體可執行的應用程式與原始程式碼。
 3. 提供完整的案例研討(Case Study),自然又流暢地整合:
   o 開發流程,包含了各階段的設計產出(artifacts)與文件。
   o 系統分析與設計 — 提供 UML Model 檔。
   o 應用程式的實作與部署 — 提供每一層(tier)的原始程式碼。
 4. 本課程均保留與提供了學員免費再旁聽乙次同樣課程的權利,以一次低廉的收費,就可以擁有兩次上課的收穫,課程的師資、內容與品質,我們有信心是不會讓學員們失望的。

§課程目標:

 1. 讓你瞭解:
   o UML 2.0 設計圖的設計意涵與應用。
   o 軟體設計必須修練的哲理,包括物件與類別、封裝、介面與多型等觀念。
 2. 讓你知道:
   o 軟體開發流程的全貌,包括了開發人員的角色與職責,以及各階段的實際產出。
   o 如何利用 RUP 流程框架,制訂敏捷式(Agile)的開發流程,來找出適合自己團隊性格的流程。
 3. 讓你活用:
   o UML 三劍客,包括表達系統需求與功能的使用案例,表達系統靜態與動態結構的類別及循序圖。
   o 只要能寫好使用案例,就可以確保直接快速產出程式碼。
   o 如何利用正反向工程,來保持 Model 與程式碼的一致性。
 4. 讓你學會:
   o 如何應用 .NET Framework 在 Enterprise 3-tier 的整體架構設計,包括:
    o 如何利用 ASP.NET 設計 Web UI 程式。
    o 如何設計 DAO 永續性物件,並利用 LINQ 連結 SQL Express 資料庫。
    o 如何利用 C#.NET 設計控制與企業物件。
   o MVC 層次分明的物件合作與連結 — 從 Web 至 Middleware 至 Database。
   o 如何善用 EA UML 塑模工具與 Visual C# 2008 Express IDE 工具的整合。
   o 如何作好驗收測試,包括撰寫測試案例與利用 NUnit 撰寫功能測試碼。

§使用工具:

 o EA(Enterprise Architect) 7.1(Trial) UML Tool、 Visual C# 2008 Express(Free) IDE、SQL Express 資料庫(均會附於教學光碟內)。

§授課講師:

 o 賴信仁(Ringle Lai)、王克明(Kenming Wang)、宋敏如(Cathy Sung)、鄒順安(Steve Tsou)。
 o 擅長以非常淺顯易懂的比喻及說明,將複雜的系統抽絲剝繭,重新釐清脈絡,讓學員一清二楚,並善於引導學員具備設計應有的反思能力。

§適合學員:

 o 系統分析/設計(SA/SD), PM, Programmer 等在職軟體開發者。
 o 學校資訊講師/在學相關資訊科系學生。
 o 學員最好有基本的程式設計能力(基本即可)。

§課程費用:

 o $14800 (含稅)。 (同等課程原價學費為 $25,000 以上)
 o 曾經上課過本公司的「單元系列課程」學員,優惠 $12800 (含稅)。 (請記得註明為舊生,本公司查詢確認即以優惠算)
 o 三人同行,或同時報名另一單元課程,亦比照舊生的優惠折扣,每位只需$12800 (含稅)。
 o 曾於上一期上課的學員,仍可以免費旁聽本期課程。 (保留 9 名學員名額,並請攜帶原上課講義。)
 o 大學/研究所 資訊相關科系講師、助教或教授,出示相關證明,我們會以建教合作方式計費。(請另以電話聯絡)
 o 清貧或由家扶中心推薦,能出示相關證明,所有費用 免費!!