This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Kenming's 軟體設計思維 會員登入 會員註冊
UML團隊開發流程與管理第二版   UML團隊開發流程與管理第二版
-----------------------------------
作者: 賴信仁
出版社:悅知文化
出版日期:2011年07月20日
ISBN:9789866072246

內容簡介
■從情境案例學習UML 2.3版中,14張圖形的應用時機
■完整分析如何透過UML正確表達軟體設計的精神
■可依據不同平台的需求,學習使用Java或C#為軟體開發工具
■內含LAB練習單元,可藉由實作確實瞭解軟體開發的種種面向
■使用工具的進階功能,瞭解團隊合作開發的基本精神

對於軟體設計的初學者來說,面對大量資訊時,往往不知從何處著手。本書作者依據多年教學經驗,以情境案例為教學主軸,適合以下需求的讀者作為學習指引:

  • 想要瞭解UML及其應用時機
    本書第一篇設計了一個完整案例,並將UML的14張圖形應用在該案例中,利用對話的方式,說明14張圖形的基本精神及應用方式,讓讀者可以透過實際案例瞭解UML的基礎。
  • 想要瞭解如何在實際專案中應用UML
    本書第二篇設計了另一個完整案例,搭配工具軟體,並配合UML、MDA及不同平台的程式語言(Java、C#),藉此可學習到如何在實際案例中應用UML,並提供LAB練習單元,讓讀者可以「從做中學」。
  • 想要學習如何充份發揮軟體開發團隊合作模式
    本書第三篇設計了團隊合作的情境案例,透過虛擬專案的進行,讓讀者可以瞭解團隊中的各個角色,以及如何挑選適合的工具。
  • 想要瞭解Enterprise Architect 8如何使用
    Enterprise Architect是一套完整的UM L支援工具,完整支援UML 2.3版的14張圖形,並支援多種程式語言及資料庫,且提供了強大的客製化空間。書中範例使用此軟體進行實作,藉此提供軟體操作及客製化之技巧。

去年底 Ringle 的著作-「UML 團隊開發流程與管理 (繁體/簡體版)」第一版就已賣光。原來他答應出版社作些錯誤修正後就準備要在今年初再版,結果他竟然又再整本書內容重寫過一次,足足花了兩個多月的時 間,甚至再加上 Java 程式碼的範例 (第一版只有 VB.NET),不得已再版日期也就延宕到七月中旬,總算鋪貨到各經銷書商了。

所以,所謂的第二版不是只有小小的改版而已,而是整本再翻過重寫!除了同時提供兩大平台的程式碼範例外,也再順應 UML 2.3 規格,新增了一張所謂的總則圖 (profile diagram)的介紹與應用時機。

 (閱讀全文)

越是大型公司的 IT 資訊單位,無論是外包或是自行維護/開發的系統,在作「需求分析」階段時,往往都會表達到所謂的「業務流程 (Business Process)」。

甚麼是業務 (或稱為企業)流程? 這裡節錄 Jacobson 《Object Advantage》一書中,將企業流程定義為:

Put simply, a business process is the set of internal activities performed to serve a customer.(《Object Advantage》, Ivar Jacobson, 1994, p. 3)
(簡單地說,企業流程就是要能夠服務客戶的一連串企業內部的活動)

或者更簡單的解釋,業務流程表達的就是:某個人在某個時間點所作的某件事 (而這些事會呈現出關聯性與先後順序)。

而甚麼是「大業務流程」?簡單的說,就是業務流程範圍更為廣泛,參與的人更多,所涵蓋的時間更長。而且往往因為現實上基於功能執掌,還是不同部門或不同地點就有不同的作業規範與範疇,但彼此這些作業之間仍需要連串在一起。

例如,物流零售業領域,為了表現出從門市的「訂貨/退貨」,到總部的「進貨/出貨」,乃至於轉入財會單位的「帳務處理」,每一個業務範疇,就有其作 業流程/作業規範;而把「訂貨/退貨」→「進貨/出貨」→「帳務處理」等作業流程串聯成更大的流程,即為所謂的「大業務流程」。

我走訪過許多大型的 IT 單位,包括顧問輔導或教學等。檢視從該單位 SA (System Analyst, 表示為需求分析師)所整理的業務流程設計圖,無論是使用傳統的流程圖 (flow-chart),甚或採用 UML 語法所表達出來的活動圖 ((activity diagram),幾乎普遍是存在兩大問題:

  1. 想要利用一張圖表現出所有的細節。
  2. 把資料作為主體,呈現的就是資料傳遞的流程。

第二個問題最難解,這裡牽涉到的就是「資料導向 (data-oriented)」 vs. 「服務導向 (service-oriented)」的分析/設計態度。

若從上述對業務流程的定義,或是後續利用使用案例 (use case)的分析技術,國外軟體大家的最佳實務經驗 (best practices),均是偏向「服務導向」的開發模式。簡而言之,就是將資料封裝 (encapsulate)至服務之內,如此可避免過早揭露繁瑣的細節。

第一個問題則比較容易調整,主要就是把握住一個最基本的原則:設計圖要能維持「簡潔」

「簡潔」的目的在於要能適切突顯出「焦點」之所在,而把諸多繁瑣的細節給封裝住。待決定集中的焦點後,再來才是將其內部「剖開」,探究細節的組成與關聯性。

而要能達成簡潔,就需要考量兩個構面-「廣度」與「深度」,要讓設計有「層次感」。

簡而言之,「廣度」考量的是所涵蓋的範圍;「深度」則是考量所揭露出細節的精細度。

以「大業務流程」的設計呈現,我這裡推薦採用「三層次」的表達,我把它稱為 MSS (Multiple - Single - System) 塑模表示法

  • M (Multiple) Process-表達多個業務流程 (Business Process)之間的關聯性,利用「Erickson Penker (俗稱火箭圖) 流程擴展語法」表達。
  • S (Single) Process-表達單一業務流程內的作業活動 (activities)。利用 UML 「活動圖」表達。
  • S (System) -表達資訊系統所擔負的功能。利用 UML「使用案例 (use case)圖」表達。

 (閱讀全文)
原定日期(7/23)開課,因報名人數未達足額,故再次延期至 8/20(星期六) 開課。(此為最後乙次延期,若仍未能順利開課,則除了退還報名費用外,另免費寄送本次課程所使用教材電子檔與相關Model檔、程式碼,回饋已繳費報名的學員方便自學。。
[軟件培訓] 專案開發實務操作-微型系統開發與產出 by C#.NET (08/20 週六,18 Hrs)
報名資訊
  • 日期:2010/08/20 (週六), 8/27, 8/28(週六、日) 共18個小時。
    每次上課為六個小時(AM 9:30~PM 4:30)。
  • 地點:中國生產力中心(暫定,若更改上課地點則會另行通知),台北市承德路二段 81號B1(首府經貿大樓)。
    http://www.cpc.tw/Train/Place.aspx
  • NT$5,800, 含稅。舊生或三人同行再折扣為: NT$5,200。
    (同等課程原價學費為 $12,000 以上)。
  • 附贈完整教材、系統文件Model檔與可執行的 C# 程式原始碼。
  • 同課程可保留再旁聽乙次的權利 (報名時註明舊生旁聽即可)。
  • 修習課程完成的學員均有結業證書 (諸多公司已認同本單位所傳授的課程與理念)。
  • 下午均附有免費從外特別特購精緻的咖啡與點心。
課程說明
  • 本課程藉由一個微型系統開發案例,以實作演練的方式,瞭解在現實專案開發的過程中,包括需求分析、結構設計,乃至程式寫碼等必要的產出 (artifacts)。
  • 本課程在程式寫碼的比例上佔 60%之多。透過本案例,可確實學會如何透過 ASP.NET 連接 C#.NET 物件;再由 C#.NET 物件透過 DataSet 連接 SQL Exress Server 資料庫。除了實現 MVC 框架,同時還撰寫功能測試程式,確保程式碼的基本品質。
  • 本課程焦點集中於課堂上的實作演練。以 1~2 人為一組,實際操作包括塑模工具(EA)與 Visual Express C# & ASP.NET,藉以瞭解工具上的操作應用。
  • 教材附上詳細的操作步驟,並於每一階段結束時,講師即會檢視(Review)學員的操作練習,務求學員能確實瞭解。

 

 (閱讀全文)

課程與報名資訊:
http://www.hsdc.com.tw/courses/use-case_writting_practices_201107

o 日期:2010/07/03 星期日 (AM9:30~PM5:00 共六個半小時)。
o 地點:中國生產力中心,台北市承德路二段81號B1(首府經貿大樓)。
http://www.cpc.tw/Train/Place.aspx
o 特價優惠:NT$1,900, 含稅。舊生或三人同行再折扣為: NT$1,600。
(清貧或由家扶中心推薦,請出示相關證明,所有費用-[免費]!!)
o 同課程可保留再旁聽乙次的權利。
(原曾上過本中心所舉辦相關使用案例教學課程的學員,可再免費旁聽本課程。)
o 修習課程完成的學員均有結業證書 (諸多公司已認同本單位所傳授的課程與理念)。
o 下午均附有免費從外特別特購精緻的咖啡與點心。

======================================================================
§ 課程介紹:

使用案例 (use case)如同目標設定,當 SA 明確釐清參與者操作系統的目的(Goal)後,再來就是找出如何達成目標的步驟與執行(實現使用案例與寫碼),至於細節的修飾(屬性、參數、流程、資料型 態等),則利用漸增與漸進(I&I, Iteration and Incremental)的方式來修正。不是一開始就落入細節的斤斤計較,而造成系統分析的癱瘓,導致最現實的應用程式無法快速產出,喪失整體團隊的開發 信心。

本課程係將 HSDc. 多年來的顧問輔導與系統開發經驗,濃縮於一日的課程,協助系統分析人員,如何利用使用案例來捕捉系統的功能性需求,並瞭解如何掌握寫使用案例的核心原則與最佳實務。本課程的精要為:

o 如何界定系統範圍,規劃使用案例模型圖。
o 掌握使用案例分析的原則與技巧,瞭解 UC 模型圖的結構元素關係,諸如《include》,《extend》的關聯時機。
o 瞭解使用案例敘述 (use case description)的寫作要旨。包括 組成敘述的欄位說明、正常與例外情節的規劃、動作步驟的對話敘述等。
o 瞭解使用案例與企業流程、畫面表單、資料庫等的對應關係;以及資料欄位細節與企業規則等變動性紀錄與管理。
o 瞭解如何利用 UML 工具規劃使用案例模型,包括上述關於使用案例圖的繪製與需求敘述的撰寫等。同時並可轉出需求分析文件。
o 展示使用案例敘述與直接對應程式碼的範例(使用 java),理解需求分析與實作之間的對應關係,打通快速開發的關鍵。
o 課餘結束後,可協助檢視學員於工作上的的系統分析需求文件。有需要甚而可至咖啡廳等用餐繼續研討。

 (閱讀全文)

** 由於 04/02 為春假,所以本課程為方便學員返鄉過節等,因而開課日期順延至 4/23 (星期六)。 **

[軟件培訓] 系統分析設計與實作—活用 UML 塑模 與 C#.NET (04/23, 54 Hrs)
報名資訊
  • 日期:2011/04/23 起,每週六白天。
    每次上課為六個小時(AM 9:30~PM 4:30),共九個星期。
  • 預定上課日期:04/23, 04/30, 05/14, 05/21, 05/28, 06/04, 06/11, 06/18, 06/25。 (5/07 因隔日為母親節假日,故順延乙週。)
  • 地點:中國生產力中心,台北市承德路二段 81號B1(首府經貿大樓)。
    http://www.cpc.tw/Train/Place.aspx
  • 特價優惠:NT$16,200, 含稅。舊生或三人同行再折扣為: NT$14,800。
    (同等課程原價學費為 $30,000 以上)。
  • 附贈完整系統分析文件範本 (Word 格式)與可執行的 C#.NET 程式原始碼。
  • 線上預約報名者,贈送 UML 著書:「UML 協同合作與管理第二版(C#.NET版)
  • 同課程可保留再旁聽乙次的權利
    (.NET/J2EE 系統分析課程均可。報名時註明舊生旁聽即可)。
  • 修習課程完成的學員均有結業證書 (諸多公司已認同本單位所傳授的課程與理念)。
  • 下午均附有免費從外特別特購精緻的咖啡與點心。
課程宗旨

HSDc. 軟體團隊,期望能透過教育訓練,以低於一般軟體設計高階課程不到一半的費用,就是希望能回饋於軟體業界,期能提攜軟體後進人員,習得正知正覺的觀念。

講師群均為豐富的軟體實務開發經驗,且仍持續刻苦研讀軟體哲理與技術等原文著作,除了身體力行、不做空談謾罵的嘴砲,實踐在現實的輔導工作與專案開發上,更希望能將其所學與經驗傳承,帶給有志向學的軟體開發人員們。

今年(2011)於農曆年後所舉辦的第一個課程即為完整性的「系統分析、設計與實作 by C#.NET and UML」。期能協助軟體開發人員在現實的工作中,能瞭解完整的開發流程與各個角色的工作執掌與產出。

並在基於以架構為中心來建立團隊具共識的整體觀下,能聚焦在適切開發單位的功能點內,快速地從需求分析導出到實作,找出並克服開發過程中,包括溝通、技能與技術等風險因子。

而後基於這樣的框架目標內,得以對系統的結構作重整,卻又不至於影響已有的功能前提下,得以對程式碼施以重構的技巧,讓系統更有延展度與彈性。

另外我們提供給學員們最大的一個福利就是,每一位學員都能有免次再次旁聽同性質課程乙次的權利。所以,當學員聽完 C#.NET 課程後,仍可再登記聽下一期的 Java 版本課程 (每一期開發8位旁聽名額,先報名者優先)。


 (閱讀全文)

系統分析設計與實作—活用 UML 塑模 與 Java(11/06, 54 Hrs)
報名資訊
  • 日期:2010/11/06起,每週六白天。
    每次上課為六個小時(AM 9:30~PM 4:30),共九個星期。
  • 預定上課日期:11/06, 11/13, 11/20, 11/27, 12/04, 12/11, 12/18, 2011/01/08,01/15
  • 地點:中國生產力中心,台北市承德路二段 81號B1(首府經貿大樓)。
    http://www.cpc.tw/Train/Place.aspx
  • 特價優惠:NT$14,800, 含稅。舊生或三人同行再折扣為: NT$13,600。
    (同等課程原價學費為 $30,000 以上)
  • 附贈完整系統分析文件範本 (Word 格式)與可執行的 Java 程式原始碼。
  • 贈送 UML 著書:UML 協同合作與管理(已有可抵優惠 NT$400)。
    http://www.kenming.idv.tw/bk_uml-collaboration-process-and-management
  • 免費送 Linux 軟體開發平台 DVD 光碟。(使用 Wine 安裝 .NET 開發平台)
    http://www.kenming.idv.tw/signup-system-analysis-course-send-linux-development-dvd
  • 同課程可保留再旁聽乙次的權利
    (.NET/J2EE 系統分析課程均可。報名時註明舊生旁聽即可)。
  • 下午均附有免費從外特別特購精緻的咖啡與點心。
課程宗旨

HSDc. 軟體團隊於今年除了擔任許多企業公司的顧問輔導外,也從事著某大型系統專案開發的工作,同時仍持續著 UML 產品開發 (已正式推出 Sequence Generator 正式版本)。在這樣百忙之餘,我們不敢忘本的是,將其所學研究,與擔任顧問及現實專案開發上的經驗與心得,每年必然會推出完整性的系統分析設計與實務課 程,以及主題性的單元課程及免費性質的研討會與讀書會等。

透過教育訓練,以低於一般軟體設計高階課程不到一半的費用,就是希望能回饋於軟體業界,期能提攜軟體後進人員,習得正知正覺的觀念;講師群均為豐富 的軟體實務開發經驗,且仍持續刻苦研讀軟體哲理與技術等原文著作,除了身體力行、不做空談謾罵的嘴砲,實踐在現實的輔導工作與專案開發上,更希望能將其所 學與經驗傳承,帶給有志向學的軟體開發人員們。

今年中,除了已推出的 C#.NET 版本的系統分析課程外,10月底確定推出 Java 版本的課程。其實軟體設計的觀念都是一樣的,但也考量到學員們現實工作上所習慣的平台技術不一樣,實作也會隨著平台而有不同的呈現。除了瞭解虛的觀念外, 也當然會提供實的程式碼,來表達虛與實的合一。「知行合一」,一向是我們身體力行的宗旨。

另外我們提供給學員們最大的一個福利就是,每一位學員都能有免次再次旁聽同性質課程乙次的權利。所以,當學員聽完 C#.NET 課程後,仍可再登記聽下一期的 Java 版本課程。

 

 (閱讀全文)

這一份 EA (Enterprise Architect) 與 Visio 的比較表,是由我們 HSDc. Cathy 小姐找了許多資料,用心所整理出來的功能比 較表。

EA 怎麼會與 Visio 來作比較? 其實這是國內某大銀行 IT高級主管所要求的,必須附在產品採購內的評估報告。

一開始的直覺是,這兩樣能作比較嗎? Visio 算是一種繪圖製作的工具,提供了諸多各類型,包括網路、基本流程、甘特圖、乃至於 Mindmap, UML 等圖形元件 (Widgets)的模版 (Template):而 EA 則當然是 UML 專業設計的工具。

但是,我還真問了許多已經使用過這類如 EA, RSA (Rational Software Architect), Together 等工具的軟體開發者 (Developer),到底與 Visio 的主要差異為何,沒想到絕大部分還真回答不出來,以為就是在繪製 UML 圖形的便利性與否而已。

不然! 其實以 EA 這等專業 UML 工具,為何售價需要近萬元? 必然是有 Visio、或者一般免費 UML 工具所無法比擬的特點。但可不是繪圖容易與否這類問題上,真正的主要差異在於:

  • 有效調和專案 (Project)開發過程中,不同角色 (Role)的開發者所設計出來的 UML 產出 (Artifacts),並在這些產出之間,有效監控並期能保持一致性。

更簡而言之來說,當專案是需要團隊協同開發時,則專業性的 UML 工具則是有其必要的,且更能有效保存軟體開發過程中的設計產出,成為團隊甚或企業的有效資產。

至於 EA 與 Visio 兩者的ㄧ些主要功能差異,則可以參考底下 Cathy 小姐所整理出來的比較表:

 (閱讀全文)

支援自動產出循序圖的工具

  • EA (Enterprise Architect) 8.x -內建動態產出循序圖的機制。
  • Together, RSA, Flowchart4j(c#) -支持靜態產出循序圖的方式。
  • HSDc. Sequence Genenator (名稱暫訂)
    • 實作於 EA 7.x-8.x Plugin。
    • 支持靜態產出循序圖的方式。
    • 可支持正向/反向 將程式碼/循序圖互轉的功能。

HSDc Seq. Generator plugin 操作示範

  1. 安裝 Seq. Generator plugin

    圖、安裝 Seq. Generator plugin
    (點擊圖片鏈接看原圖)圖、安裝 Seq. Generator plugin

 (閱讀全文)

程式碼與循序圖的正反向工程

先瞭解一個重點:靜態程式碼結構並無法直接對應循序圖 (對應的是類別圖)

兩種方法可以產出循序圖:

  • 動態產出:設定 run-time 環境,實際執行應用程式,再由 UML 工具至系統內追蹤解析。
  • 靜態產出:直接掃瞄程式碼,解析物件之間的參考 (reference)。

動態產出循序圖的優缺點:

  • 優點:
    • 不需要程式原始碼,只要具有能直接執行的應用程式 (如 .NET DLL 執行檔)即可。
    • 可以確實捕捉單一程序內,物件之間的呼叫情形。
  • 缺點:
    • 需要事先設定好可以執行該應用程式的 run-time 環境。設定相當複雜繁瑣 (一般需為命令列模式),且不同的程式語言 (如 C#NET, Java, PHP …等)均須各自設定不同的 run-time 執行環境。
    • 只能呈現單一執行路徑內的物件互動。意即,無法呈現如 If…Then…Else 或 Exception 等多種條件或替代路徑。

靜態產出循序圖的優缺點:

  • 優點:
    • 不需要設定繁瑣的 run-time 執行環境,操作相當簡潔。
    • 可以指定所掃瞄的程式碼深度 (層次)。
    • 可以同時呈現多重的條件或替代路徑的物件呼叫互動情形。
  • 缺點:
    • 需要有原始程式碼,以提供靜態掃瞄的來源依據。
    • 轉換工具的實作邏輯並無明確的轉換 (transform)規則;相對來說,需要考量到程式語言個別的機制與語法,故轉換工具的實作難度相對提高。

※ 延伸參考
o 程 式碼與 UML 類別_循序圖 的關係探討 (1)
o 程 式碼與 UML 類別_循序圖 的關係探討 (2)

程式碼與 UML 設計圖之間的關聯性

從抽象的角度思考 類別(Class)/物件(Object) 的關係

  • 物件是活的!
  • 但是,類別可不是死的 (更不是活的);因為,它僅是對系統的設計契約而已。

問題思考!?
程式原始碼 (Source Code) 對應的是 UML 哪一張設計圖?

推導-1
程式碼 = 靜態結構 = 設計契約 = 類別設計

所以 程式碼 對應的是: UML 類別圖 (Class Diagram)

Ex. 程式碼與類別圖的對應

範例-靜態的程式碼設計契約
範例-程式碼與類別圖的對應關係

使用 UML 類別圖 (Class Diagram)的好處

  • 快速定義類別的結構 (包括類別名稱、屬性與行為)。
  • 過濾程式碼實做的細節,容易聚焦於類別的責任分派 (responsibility assign)設計議題。
  • 可以透過工具,將類別圖轉出至對應的程式碼 (反之亦然)骨架 (skeleton)。

類別圖無法作到 …

  • 無法呈現系統執行期間 (run-time),程序單位之間的呼叫情形。
  • 無法追蹤為完成某一特定功能案例,物件之間的動態相依呼叫關係。
  • 無法掃瞄物件之間的動態連結,是否有違背類別圖的結構設計。

 (閱讀全文)

基礎觀念導引 - 何謂靜態與動態?

靜態結構 (Static Structure)

  • 表達軟體內部的結構設計。
  • 一般指程式原始碼 (Source Code)。
  • 軟體人員對資訊系統的設計契約 (Design Contract)。

靜態結構的設計契約

public class myclass {
public void method_1() {
//do something
}
 
public string method_2(string var) {
//return a string
return var;
}
}

誰來解讀設計契約?

  • 一般指軟體資訊系統或應用軟體伺服器 (Application Server)。
  • ie. 可以編譯 C#.NET 程式碼 (設計契約)並能在 .NET 平台上執行應用程式。
  • 可以編譯 Java Spring 程式碼並能在支持 JEE (Java Enterprise Edition)平台執行完成編譯的應用程式。

動態相依 (Dynamic Dependency)

  • 系統在執行某一特定功能時,所啟始不同的程序單元之間呼叫的一種動態相依關係。
  • 一般指程式碼經過編譯後在執行期間 (run-time)的應用程式。
  • 資訊系統履行軟體人員的設計契約,使之可以在其平台上執行。

 (閱讀全文)

上個星期六、日,我們團隊連著兩天舉辦了「讀書會」與「單 元課程(一日遊)」等活動。

星期六,讀書會場地是選在位於通化街的「曼德 主廚私房料理」。一邊心得分享與研討、同時可以享受飲食與咖啡下午茶,這樣也比較輕鬆沒有壓力。
[讀書會] @曼德主廚私房料理

 

 (閱讀全文)

我們 HSDc. Inc. 本年度完整的軟件設計培訓,預定於今年 5/01(星期六)舉辦。使用的開發環境為 C#.NET + UML 2.0。 (但 Java 族群組亦可參加,因下次課程即會輪流改為 Java,且可再次免費旁聽)

歡迎報名上課,價格超級便宜,且可充實軟體設計整體性的觀念與知識,又能與講師、同學們等相互討論交流,好處多多。

課程與報名資訊:
[軟 件培訓] 系統分析設計與實作—活用 UML 塑模 與 C#.NET (05/01, 54 Hrs)

 o 日期:2010/05/01 起,每週六白天。
每次上課為六個小時(AM 9:30~PM 4:30),共九個星期。
o 預定上課日期:05/01, 05/08, 05/15, 05/22, 05/29, 06/05, 06/12, 06/19, 06/26
o 地點:中國生產力中心,台北市承德路二段81號B1(首府經貿大樓)。
http://www.cpc.tw/Train/Place.aspx
o 特價優惠:NT$14,800, 含稅。舊生或三人同行再折扣為: NT$13,400。
(同等課程原價學費為 $30,000 以上)
o 附贈完整系統分析文件範本 (Word 格式)與可執行的 C# 程式原始碼。
o 贈送 UML 著書:UML 協同合作與管理(已有可抵優惠 NT$400)。
http://www.kenming.idv.tw/bk_uml-collaboration-process-and-management
o 免費送 Linux 軟體開發平台 DVD 光碟。(使用 Wine 安裝 .NET 開發平台)
http://www.kenming.idv.tw/signup-system-analysis-course-send-linux-development-dvd
o 同課程可保留再旁聽乙次的權利
(.NET/J2EE 系統分析課程均可。報名時註明舊生旁聽即可)。
o 下午均附有免費從外特別特購精緻的咖啡與點心。

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

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

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

基於這樣的理念,我們主張系統分析與設計是要「務實」,不是「昧於現實」,也不是「妥於現實」,而是在現實與理想中找到那一個平衡點。所以課程規劃 是分為兩個階段。

第一個階段就是捕捉系統功能需求,快速設計,立即產出程式碼。重點就是要瞭解如何作好系統的需求分析與對應到程式碼的實作。本階段需要培訓的技能有 物件導向的基礎知識、從使用者角度看待系統時的外部功能分析,抓出適切的功能點開發單位、從畫面、中間層物件到連結資料庫的實作能力等。還有,一定要配套 的兩個設計措施,一為撰寫測試案例與功能測試程式碼,實現自動化的測試機制;另一為活用分析類別,先利用中間層的控制類別,集中與控管從畫面與資料庫而來 的企業邏輯。

第二個階段就是傳統系統分析所說的 SD(System Design), 傳統是以資料庫的 E-R(Entity-Relation) 分析,在物件導向則是稱為領域模型的建立—包括找出物件與適切的分派責任。這可不是一件容易的事,事實上應該說要具備的抽象能力要相當高,所以為何我們覺 得那種 SA->SD->PG 開發流程是不務實的,因為 SD 很難作得好,然後還要 PG 去等該階段的產出,又大部分是不正確,可以說是浪費開發資源與時間。程式碼可以直接反應功能的需求,但不一定要等結構分析,集中在控制控制類別的好處就 是,我們可以很容易地對結構作重整、對程式碼作重構,卻又不會影響既有上線的功能。本階段的重點當然就是對所謂結構的分析技能培養,我們會兩種方式,一為 從需求抓名詞的傳統方法、另一為揭露出以交易為核心的交易樣式,可以輕易地抓出一大串的企業元件。

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

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

HSDc. 軟體團隊,關心每一位軟體人員的持續成長...。

 

 (閱讀全文)

過年前,我們團隊 (HSDc Inc.)所舉辦的 [UML 2.0 觀念引導與實務操作入門] 課程,約有近 20位學員參加。其中,有一位相當高恌的女孩子就坐在最前座,上課的時候總是相當專心聽講作筆記。

我在講課時總是喜歡採用反問的方式,藉以引導學員可以思考我所提問問題背後的涵意。大部分學員總是會有些怕怕,也比較不敢表達出自己的想法,但這位 女孩子卻是可以回答出令人相當滿意的答案,讓我相當的佩服;更為訝異的是,在下課時與她閒聊,才知道她還只是撰寫大型系統的程序性古典語言,也沒有寫過 Java or .NET 等 OOP 語言。但是,我可是真的覺得,她對物件導向的設計哲理,相當具有領悟力,也很肯去反思,俱足軟性思考的頭腦。

對於這樣聰慧、具 Smart 特質、又肯主動學習的學員,除了讓我印象深刻外,我更是願意就我所能,引導與分享對於軟體設計領域上的觀念與學習技巧。

就在想說,年後我們團隊若有一些研討活動 (如讀書會、研討會)等,準備邀請該位學員來參與。沒想到,就在除夕春節前,這位學員還主動寄了一封新年賀卡給我們。除了新年賀節問候外,也說出了她對這次上 UML 課程的收穫與心得,真的很感心~

更特別的是,附檔的新年賀卡是她利用 PowerPoint 設計的。內容竟然是把兩天課程所介紹 UML 13張設計圖,它們之間的關聯、特質與應用時機等,給全串在同一張圖內;還畫了虎年到來、新年迎春饒富過年氣氛的插圖。
Sharon 的 UML 新年賀卡

哇!! 這麼別出心裁、這麼有創意的新年賀卡,又是如此的用心製作 (必然要耗費很多時間),我收到這樣的賀卡真的是相當開心,也相當感動。更是覺得,這麼棒的作品,要不分享出來給眾讀者們欣賞,那真是太可惜了。所以,我還特別寫了信徵求該位學員的同意後才特別公開。

對啦,她的名字叫 Sharon,這樣直接稱呼也比較方便勒。另外這裡同時也公開她的網誌應該沒有問題吧? 看看她寫的文章,文句優雅頗具知性,會讓人以為她是一位柔弱感性的少女呢;但是,再瀏覽她整理的網誌相簿,呼,Sharon 可還是一位熱愛潛水的陽光健康女孩呢。 :)

 o http://blog.yam.com/sharontaiwan
o http://sharonwang.myweb.hinet.net/

線上報名與詳細課程資訊請至:
http://www.hsdc.com.tw/course/unit-course_automation-test-by-csharp_1day_20100328

 o 日期:2010/03/28 (星期日) AM 9:30 ~ PM 17:00 (共 6.5 小時)
o 地點:中國生產力中心,台北市承德路二段81號B1(首府經貿大樓)。
http://www.cpc.tw/Train/Place.aspx
o 費用:NT$1,800, 含稅。舊生或三人同行: NT$1,500。
o 同課程可保留再旁聽乙次的權利 (報名時註明舊生旁聽即可)。
o 下午均附有免費從外特購精緻的咖啡與點心。

§課程說明 --------------------------------------------------------------------

TDD (Test-Driven Development),測試先行的觀念已逐漸被軟體開發單位接受。但如何達成自動化的測試?要測試的是哪一類型程式?如何撰寫測試測試 ...等,可能一般 Developer 仍顯模糊。

HSDc. 團隊將多年來輔導諸多單位,並協助其撰寫測試程式的經驗,整理成範本。利用一天的時間,詳述說明從需求整理、測試案例,到整個測試程式的產出,每一個階段步驟除了有完整的圖文解說與程式碼以外,還設有階段完整的目標,以瞭解該階段實作的目的。

對於 Developer 而言,撰寫功能性物件的測試程式,如利用 NUnit or JUnit 等測試框架,是確保需求功能的正確性。

而對於 End User 而言,因直接面臨的是 GUI 畫面的操作,若有些高精確要求如政府標案等,往往連畫面的操作步驟都不得出錯,而導致開發團隊甚而還要撰寫畫面操作的詳述說明與撰寫數千條以上的圖型測試 案例報告,花了相當多的時間卻仍一再需要重複人工的操作,可說是浪費太多不必要的精力與人力了。

為了達成驗收交付的目的,圖形介面操作的自動化測試,在高度要求或大型的專案中仍是需要的。所以,在本次課程中,我們也會介紹如何利用 GUI 的測試框架,在 ASP.NET 的 Web 環境中,以達成自動操作圖形表單、自動輸入數據。

同時,我們也整合了從 GUI 的自動操作到按下按鍵、然後到後端的控制型功能物件 (Control Object),由 NUnit 測試框架自動驗證需求功能的正確性。一氣呵成,全部自動化,花一次工即可。

本次課程是利用 C#.NET,相關的測試框架 (Watin and NUnit)均支援 .NET Framework。但測試的觀念與作法其實都是一樣的,要移轉到 Java 的環境下,也是相當輕而易舉,自然,本課程也是適合 Java 的 Developer 等。

上課學員除了收到本顧問團隊所親自撰寫的教材外,還可以拿到一片自動安裝的光碟,內含了教材電子文檔(PDF)、測試環境建置所有需要的應用軟件(全為免費)、案例分析的原始程式碼與測試程式碼等。以及涵蓋了 HSDc. 歷屆研討會簡報資料。

上課過程中,更是歡迎學員自行帶平日工作所碰過的案例問題與疑問,講師群均非常樂意協助解決(不怕被考倒,只怕不問),亦可以當成課堂上的討論案例。

對了,每一天的課程,我們均有免費提供下午茶點,包括小蜜蜂咖啡、茶飲、美味的吊鐘燒與餅乾甜點等。品味咖啡的同時,學習軟體設計思維,那會是一件令人相當愉悅的快樂學習之旅。

 (閱讀全文)
1 2 3 4 5 6 7 8 9 10 11  下一篇»