[案例] 推特(Twitter)系統分析使用案例

這是前年底至大陸「深圳」的「中國移動」軟體部門授課的案例。當時我們花了兩個多星期的時間製作此案例,並包含可執行的雛形應用系統與手機 App 的前端介面。因也事隔一年多了,所以無保密問題,在此就把基本的系統分析使用案例 (use case)提供分享參考,同時也把 EA Model 檔供下載參考,可作為一個小型專案的範本參考。讀者可至 EA Saprx System 下載免費的 EA Viewer 以讀取該 Model 檔。

o 推特 (Twitter) 系統分析 Model 檔。
o EALite.exe (free, EA UML Viewer)

推特系統功能模組 (System Functional Modules)

圖 1、推特系統功能模組
(點擊圖片鏈接看原圖)圖 1、推特系統功能模組

推特系統模組-General

圖 2、推特系統模組-General
(點擊圖片鏈接看原圖)圖 2、推特系統模組-General

閱讀全文 »

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

 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 塑模 與 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. 軟體團隊,關心每一位軟體人員的持續成長...。

閱讀全文 »

[單元課程] UML 2.0 觀念引導與實務操作入門(01/30,31,13Hrs)

農曆年前 HSDc. 舉辦 2010 年第一場軟體設計培訓課程

** 由於文化教室已滿,故地點改為 中國生產力中心,台北市承德路二段81號B1(首府經貿大樓)。
http://www.cpc.tw/Train/Place.aspx

各位好:

 o 日期:2010/01/30,31 (星期六,日) AM 9:10 ~ PM 17:00 (共 13 小時)
 o 地點:中國生產力中心,台北市承德路二段81號B1(首府經貿大樓)。
  http://www.cpc.tw/Train/Place.aspx
 o 附贈完整系統分析文件範本 (Word 格式)與可執行的 C# 程式原始碼。
 o 前 10 名報名者,免費贈送 UML 新書:UML 協同合作與管理(已有可抵優惠 NT$400)。
  http://www.kenming.idv.tw/bk_uml-collaboration-process-and-management
 o 同課程可保留再旁聽乙次的權利 (報名時註明舊生旁聽即可)。
 o 下午均附有免費從外特別特購精緻的咖啡與點心。

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

2010 年一月,HSDc. 所選擇的第一個軟體設計培訓課程為「UML 2.0 觀念引導與實務操作入門」。

焦點著重在講師會藉由 UML 工具的實際操作與引導,繪製各個類型的軟體設計圖,從做中學的過程中,瞭解到這些 UML 設計圖背後的設計意涵。

雖然是短短的兩天課程,但講師們絕對會擷取出 UML 的精要(essential)部分,將多年來豐富的輔導與教學經驗,表達於其內。 絕對可以讓學員們學習與瞭解到,UML 這個統一模式語言的每一張設計圖的基本語法認識,以及基礎軟體設計的思維。

雖然這個是我們已舉辦多年的實務性課程,但是對於課程內容,我們每一次總是接受學員們的建議,以及我們團隊課程結束之後的討論,會再重新作過規劃,讓課程更流暢、更為實用,對學員們當然在工作上更有實質的幫助。

所以,除了 UML Overview 介紹與實務操作外,我們在最後一堂課,會利用一個小而美的案例展示,以提供完整的系統分析 Model,與利用 C# 實作的可執行程式碼,甚而包括了完整的系統分析文件(Word 格式)。這可是相當之實用的範本,讓學員可以參考並實際應用在工作、小型規模的專案開發上。

上課學員除了收到本顧問團隊所親自撰寫的教材外,還可以拿到一片自動安裝的光碟,內含了教材電子文檔(PDF)、UML 範例檔(EA 格式)、UML2 教學錄影檔(Flash)、歷屆研討會簡報資料、EA 7.5 UML 工具(Trial)。

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

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

§報名資訊 ----------------------------------------------------------------------
o準備教材:
 o 由授課講師提供講義,包括內容、案例分析與 UML 13 種圖範例(包括 Flash 影音檔案)。
 o 學員可攜帶相關 UML 參考書籍,並對於書中內容有問題者,可以直接提問。

o使用工具: EA(Enterprise Architect) 7.5(Trial) UML Tool。

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

o上課時間:
 o 2010/01/30,31 (星期六,日) AM 9:10 ~ PM 17:00 (共 13 小時)
 o 請注意,本次課程特別提早至 9:10 開始上課,並延長至 17:00 下課。

o上課地點與上課人數:
 o 文化大學教育推廣部城中分校,台北市延平南路127號。
  http://future.sce.pccu.edu.tw/service/service01_05.asp
 o 報名人數滿 10 人即開班(同時保留 5 名學員重新選修該課程)。
 o 開課前兩日會以電子郵件聯絡與通知學員。

o適合學員:
 o 系統分析/設計(SA/SD), PM, Programmer 等在職軟體開發者或在學學生。
 o 想實際學會如何利用 UML 工具來畫 UML 2.0 十三種圖。
 o 看了很多 UML 書籍,仍然無法在正確的時機畫出正確的 UML 圖。

o備註:
 o 教室設備包括白板與投影機,由講師親自說明與操作示範。(學員可攜帶錄音筆)
 o 學員最好能攜帶 Notebook,可以於課程中實際操作與練習。 。
 o 為確保報名足額人數,煩請先以 ATM 轉帳預約費用($1000,當然也可一次繳清)。
  並請於報名表備註欄位內,註明您的轉帳帳號末 5 碼與轉帳金額。
  (若實在不及轉帳者,仍可現場報名,但請在報名表內註明現場繳費)。
 o ATM 轉帳帳號: 新光銀行 (103) 帳號: 0772-50-100979-9

§課程大綱 ----------------------------------------------------------------------
※ 基礎觀念引導—認識 UML
 o 使用 UML 的基本思維
 o 為何是利用 UML 來溝通
 o UML 塑模的對象
 o UML 設計圖的分類說明

※ 企業流程與系統需求
 o 利用活動圖(Activity Diagram)表達企業流程
  - Activity, Control flow 的關聯。
  - 決策(Desision), 並行活動的表達。
 o 利用使用案例(Use Case)圖表達系統功能
  - 系統範圍, 參與者, 使用案例 表達系統架構。
  -《include》and《extend》擴充意涵表達。
  - 使用案例陳述(Description)範本。
 o 操作展示與引導練習
  - EA(Enterprise Architect) UML 開發工具安裝與基本操作說明。
  - 利用 EA 繪製活動圖與使用案例圖。

※ 表達系統內部結構的兩位主角
 o 利用類別(Class)圖表達領域概念與企業物件。
  - 類別的特徵:屬性與行為。
  - 三種類別之間的關係:結合, 整體/局部, 一般化/特殊化。
 o 利用循序(Sequence)圖表達物件動態期間的互動關係。
  - 表達出主要參與的主角(Object)。
  - 表達出物件之間的訊息傳遞。
 o 操作展示與引導練習
  - 利用 EA 繪製類別圖與循序圖。

※ 其它類的設計圖
 o 系統的微觀設計
  - 溝通(Communication)圖, 物件(Object)圖, 元件(Component)圖。
  - 狀態機(Statechart)圖, 時序(Timing)圖。
 o 系統的鉅觀設計
  - 互動概觀(Interaction Overview)圖, 合成結構(Composite Structure)圖。
 o 系統的實作與部署
  - 套件(Package)圖, 部署(Deployment)圖。
 o 操作展示與引導練習
  - 利用 EA 繪製上述的設計圖。

※ 案例展示與系統分析範本-從需求分析,結構設計至程式碼實作
  - 使用案例, 類別圖, 循序圖 設計產出之間的橋接。
  - 利用 EA 正向工程產出 C# 程式碼。
  - 記錄測試案例與撰寫測試程式碼。
  - ** 利用 EA 快速產出完整的系統分析文件(可作為開發綱要範本) **
  - 完整附錄可執行的程式原始碼與設計模型的 Model 檔。
--------------------------------------------------------------------------------

 o 諮詢專線:TEL: 092236977
 o 服務信箱:gnimnek168@gmail.com
 o FB社團:軟體設計鮮思維

報名系統分析課程(06/27)免費送 Linux 軟體開發平台 DVD 光碟

HSDc. 團隊近日費心製作了「Linux 軟體開發平台」DVD 光碟。 目的是為了讓學員可以擁有與講師相同的軟體開發環境,只要帶回家啟動光碟後,不需作任何設定,就可以方便對講師所提供的實做案例自行練習 (當然,也可以開發所屬於自己的應用程式)。

即日起,只要報名【系統分析課程】系統分析設計與實作—活用 UML 塑模 與 Java (06/27, 54 Hrs),即免費贈送學員 DVD 光碟乙片 (不要忘了,線上報名還有免費贈送 Ringle 的親筆簽名新書喔)。 光碟內容相當豐富,包括課程所使用的教材電子檔、完整的實做案例 (包括 UML Model 檔與可執行的應用程式碼); 當然,還包括了如下完整的 J2EE 開發環境 (爾後 HSDc. 會對其系統與應用平台版本的更新而持續 Update):

  • OS: Fedora 10.0 Traditional Chinese
  • XWindows: GNome
  • VMWareTool
  • Java SDK 1.6.0_0b12
  • JBoss Application Server 5.0.1
    (Install in /usr/jboss-5.0.1.GA)
  • MySQL Server 5.0.77 (Fedora Default)
    MySQL GUI Tools 5.0r12
    MySQL JDBC Connector 5.0.8
    (Install in /usr/mysql-connector-java-5.1.7
  • Eclipse 3.3 with J2EE
  • Spring Framework 2.5.5
  • Hibernate 3.3.1 Code and Library

安裝的Server以及Java Library

底下同時列出幾幅開發環境的 Screenshot 圖片:
UML Development Tool (EA, Enterprise Architect) under Fedora Linux:
利用Wine執行EA

閱讀全文 »

軟體思維顧問

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

Personal