{草稿} 幾個點子的備忘錄

  1. 關於軟體設計的課程教育,我希望能推銷到 .NET 的族群。不過,我發現,國內應該算是首屈一指的 .NET 指標網站藍色小舖,其內「軟體工程」的討論版,實在冷的可以,相較於 JavaWorld,似乎 Java 這邊的族群對所謂「軟體工程」方面的討論還來得興致高昂。

    不過,對於 .NET 程式的實做討論,該小舖倒是人氣鼎盛。所以,我想到,應該要把文章是丟到如 VB.NET or C# 程式語言討論版才是。

    不過,若只丟如 UML 塑模之類的文章,好像也說不過去,畢竟,那是主要討論程式語言的專區。所以,我想到,來寫一個留言版 for .NET ,以 VB.NET and C# 來實做。

    當然,最重要的是推銷留言版的 “設計”。從 “需求分析”、結構設計,包括 Class 圖、Sequence 圖、E-R Model 等。再加上與平台面(.NET)相關的細部設計(Detailed Design),例如,如何反應設計至 ADO.NET 實做上,然後至 Coding 實做,以及撰寫測試碼...等。一氣呵成,很順暢地結合用 UML 表達設計、.NET 程式實做。 除了 .NET 版本,當然也可以實做 Java 版本,並同時可以展現高階的設計是確實可以與平台面分離的,只有到了細部的系統設計,才會加上與平台面相關的元件。

    然後,舉辦個課程說明會,參加者免費贈送留言版的設計文件及原始程式碼,並且在課堂中說明每一個階段的設計思維及如何承轉到 Coding 的實做階段。

    看看這樣是否能吸引到小舖的成員們對「軟體設計」產生興趣,進而想要學相關的課程。

  2. 有時候有些異想天開的情節,可能在夢中,也可能是寶貝女兒們的生活趣事。這些都可以觸發寫作童話故事的來源及靈感。

    所以,我想到,無論如何的無俚頭,就先以文字寫下來,同時也可以鍛鍊怪怪的想像力。今天晚上我就把我的想法與我的大女兒蓁妮討論過,我寫作,然後她畫插畫。

    嘿,她高興得很。我們約定好了,版權一人一半。 😉

{點子}Open-Solution Business Model 思考

Open-Solution = Open-source + Open-platform + Open-design

Open-source + Open-platform 是屬於垂直整合關係,屬於系統建構的範疇。如下圖一。

Open-source 與 Open-platform 的垂直整合關係
圖一、Open-source 與 Open-platform 的垂直整合關係

又, Open-platform 可再分為二至三層,如下圖二。

Open-platform 的三層 Layer
圖二、Open-platform 的三層 Layer

而 Open-design,則是屬於水平整合的設計思考,整合的對象為 Open-source 的應用系統,以及公司內部既有的系統(Legacy System)。將每一個應用系統當作一個個的元件(Component),其上層設計一個 "主機板" 的架構,來調和眾多應用系統元件的整合,並達成 "Plug-and-Play" 的效果。而前端 UI(User Interface),亦可以利用 Open-CMS(Content Managent System)的 Solution,架設 Portal 網站, 並達成多人協同(Collaboration)互動與使用應用系統服務的窗口。參考如下圖三。

主機板架構的應用系統整合設計
圖三、主機板架構的應用系統整合設計

Open-source、Open-platform、Open-design 三者所構成的垂直與水平整合,個人把三者的整合統稱為 "Open-Solution"。

"Open-Solution" 提供了免費的作業系統、免費的應用系統基礎平台(ex. jBoss J2EE Server, MySQL)、免費的開發平台(ex. Eclipse, CVS)。再加上開放式的設計(Open-design),一切把設計攤開,著重於應用系統之間的整合(ex. jBPM 與既有 HR 系統的整合)。應用及架構於數百人中小企業的規模,是綽綽有餘了。

兼顧了系統的穩定與效能、不需要購買昂貴的作業、應用及開發系統,也不需要每年負擔昂貴的 "License" 費用。
將上述這些費用的幾分之一,
用來擔負系統建置與管理,以及擔負應用系統的客製化與整合,以切合企業實際的作業需求。

未來,應該不會是以賣 "系統" 及 "應用軟體 " 等產品導向(Product-Oriented) ,贏者通吃的暴利模式;而是,逐漸會轉成提供應用系統的設計整合服務(Service-Oriented)為主要的獲利模式。

「軟體設計」顧問及課程行銷規劃備忘錄

定位 — 目標、願景、使命:

  • 使命(Mission) — 提升及協助軟體開發人員在軟體設計的專業技能及必備素養。
  • 目標(Goal) — 把軟體做 “軟”。 (Keeping Software Soft !! )
  • 願景(Vision)
    • 成為大中華地區的專業軟體設計中心。
    • 成為軟體設計領域的『麥肯錫』。

核心能力: 『言』 『道』

  • 「軟體設計之理」。
  • 「軟體設計之道」。

軟體設計重視的方向:

  • 修鍊的思維與基本功
    • 從本質看軟體設計。
    • 設計與實做,是一體兩面。
    • 軟體設計是人性化、生活化,非純工程與技術。
  • 重視
    • 觀照整體的能力。
    • 軟體整體的架構(Architecture)與結構(Structure)。
  • 軟體設計者的使命
    • Keeping Software Soft ,把軟體做軟。
    • 三法印—保持系統的彈性、延展性、可重用性。

教育(Education)的目標:

  • 傳授學員軟體設計的正則思維。
  • 傳授學員軟體設計的觀念與技能。
  • 指導學員流暢地整合軟體設計與程式實做。
  • 讓學員瞭解軟體設計是有趣的、生動的,而且,是高度生活化的。
  • 藉由軟體設計,引導學員具備反思的能力。

課程的特色:

  • 強調『軟體設計實做』;而非『程式設計實做』。
  • 以實際案例(Case Study),說明從分析、設計至實作等開發過程,作為課程的主軸。
  • 每一開發階段皆有實際產出(Artifacts),包括UML設計圖及實做程式碼。
  • 固定舉辦研討會及提供線上討論區,提供專業建議,協助學員永續成長。

「軟體設計」 教你學到會保證班構思

最近一直浮現一個點子,關於軟體設計教育訓練方面。

除了教授比較長時數的課程(約 32~48 Hrs),我想個人教授 “機動富彈性的課程”。我希望讓「軟體設計」的學習是一種 “無痛”,而且是非常生活化。在很輕鬆的情況下就能有所體悟,並進而活用。

◎教授課目:(每個單位六個小時,底下為參考課目,尚未底案,會持續評估修正)

  • 物件導向基礎 — 完全從生活的體會中來說明物件導向觀念。
  • 需求分析 — Use Case 如何界定系統範圍、如何捕捉使用者需求、如何寫出 “正確” 的 Use Case。
  • 軟體結構設計 — 包括 Class 設計、物件互動合作等。
  • 快速 Prototying — 教你如何懂得省略不重要的細節,以一個 Use Case,快速的從需求分析、設計至實做(含測試),並具體可以在系統上執行的應用程式。
  • UML Model 與程式碼的正、反向工程實做。包括 Code-Generation;Reverse Engineering。
  • ...還有許多,我尚未想到。

*** 關於實做的應用程式,亦可由學員共同決定是以 Java or .NET 來具化,都沒問題! ***

◎學員人數:每個單位上課人數最多 10 人,一天內上完,包括實例演練及問題討論。(學員可自行攜帶 Notebook 或藉由投影機由我親自操作示範)

◎學員基礎:稍具備程式設計基礎即可。如 Java, VB.NET, C#.NET, PHP?,也沒問題! 重點在於是否對軟體設計有興趣學習。

◎講師:當然主要是我(Kenming Wang),另我也可能請 “名師” 授課,如 Ringle(號稱人中呂布)。另外,我也有可能規劃 “How-to” 的課程,相對,我會請 How-to 的專家,如 Steve 等,來授課。 (放心! 以往他們在教育單位可都是叱吒風雲的名師)

◎費用及地點:NT$300/1hr (預計),在免費提供無線上網的咖啡廳(我已洽談好合作細節),環境舒適、又在捷運站旁邊、又可以喝咖啡。

◎上課時間:由報名該單位課程的學員共同討論決定,完全彈性配合。

強烈保證:該單位課程若學員認為聽不太懂,可免費再上一次;若仍覺得不滿意,沒關係!完全退費,沒有任有囉唆。

◎課後討論:可隨時以 msn 與我討論問題(前提是不要問我 how-to);可以在討論區討論;可以參加 UML 系列講座(免費);另外,也可以在未來每個月所舉辦一次的課後研習會出席討論(免費)。當然,也可以直接打電話給我。

更具體可行的行動計畫,近期內我準備公布,也歡迎提供一些建議給我。包括課程單位的規劃等。

{點子}關於「目標設定與管理」書籍的寫法

今天在京華城「誠品書局」翻閱了幾本 “成功潛能” 之類的書籍,發現比較薄(約 100 頁多一點)的書籍,書本內容的架構是透過幾個簡單的原則構成 “章節”。

然後,每一個章節彼此之間的連貫性並非那麼的緊密,各個章節可以獨立。每一章節的內容主要以文字為主,再佐以插圖的陪襯。

所以,若當我寫這類性質的書籍,可以抓幾個與「個人目標設定與管理」相關的原則構成整本書的大綱。然後,加一點小創意。我準備在每一章節的後面,利用「心智圖」,以圖像的方式來摘要該章節的重點。

如此,既能以文字來具體詳述該章節的原則,又能再加上圖形,不至於單調,還可以幫讀者記錄重點。一舉數得!

軟體思維顧問

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

Personal