[HSDc. 讀書會] 無瑕的程式碼 (Clean Code)

報名請至: http://www.hsdc.com.tw/course/reading_meeting_20130518

研討書籍:無瑕的程式碼:敏捷軟體開發技巧守則 (中譯本)
原文:《Clean Code: A Handbook of Agile Software Craftsmanship

o 報名費用 :免費。自行於當場點餐、下午茶點或飲料即可。
o 日期:2013/05/18 (星期六) AM 10:30 ~ PM 16:30
o 地點:加爾第咖啡莊敬店。北市信義區吳興街269巷1弄21號
    電話:(02) 2345-1136
    http://kaldi-coffee.com.tw/mainwebsite/about4_a.html

這是一本好書。透過從程式碼的簡潔撰寫原則與不斷精煉的過程中,得以反思軟體設計關於結構設計上的議題。

我們希望與會學員們起碼約略有翻閱過該書,但不需要全部看完。只要針對書本內任一章節,可以作心得分享,甚或問題提問討論即可。

我們希望是以相當輕鬆的態度來參與讀書研討。重要的是分享,甚或是提出問題一同討論,這才會是舉辦讀書會的意義所在。

***
請注意,由於需要保留及計算報名學員們的座位,請確定會前來參加後才填寫報名單,若不克前來,也請於報名表單或來信取消報名。

※ HSDc. 團隊主要成員均會參與,並歡迎接受提問。

o 對象:對軟體設計相關議題有興趣者,包括在職軟體開發人員及相關資訊科系講師及學生等。
o 主辦單位:HSDc 軟體設計顧問中心。
o 備註:
 o 本次讀書會預計開放 24 個名額。(額滿即停止報名)
 o 如因故未能參與,請取消報名,以免影響其他學員權益。
 o 請自行攜帶讀書會研討相關書籍。

§ 書籍大綱

閱讀全文 »

[活動紀實] EA UML工具研討會@加爾第咖啡

** 所有相關活動的完整照片,可至-「2012_1215_EA_UM L_新功能應用研討會」Flickr 相片集瀏覽。 **

** 本次簡報下載:2012_1215_EA新功能研討_簡報與Model檔.rar **

EA研討會@加爾第咖啡

HSDc. 舉辦之「EA UML 開發工具新功能分享與應用 (12/15)」於上週六圓滿落幕,與會學員雖然只有10多位 (許多已報名學員臨時缺席,因有限制名額,望請爾後無法參與者請取消報名,保留給他人聽講權利。),但聽得開心吃得也相當滿足。

因定位是屬於小型的應用分享研討會,所以並沒有租用大型的會議室,而是就近在「吳興街」頗富好評的「加爾第咖啡」舉辦,她們家有可容納約 30 人的地下室,可供會議研討會或團體聚會等,約一個月前左右預約即可。而每個人最低消費為 NT$150 (這也是本次研討會報名費訂於此的原因,還附贈了一片歷年來的簡報與錄影教學等資料DVD光碟。)
加爾第咖啡

閱讀全文 »

[單元課程] 使用案例寫作實務一日遊 (07/03 週日, 6.5 Hrs)

課程與報名資訊:
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 課餘結束後,可協助檢視學員於工作上的的系統分析需求文件。有需要甚而可至咖啡廳等用餐繼續研討。

閱讀全文 »

[軟件培訓] 系統分析設計與實作—活用 UML 塑模 與 C#.NET (04/23, 54 Hrs)

** 由於 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
  • 附贈完整系統分析文件範本 (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)

系統分析設計與實作—活用 UML 塑模 與 Java(11/06, 54 Hrs)
報名資訊
課程宗旨

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

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

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

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

閱讀全文 »

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

我們 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 附贈完整系統分析文件範本 (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. 軟體團隊,關心每一位軟體人員的持續成長...。

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal