蓁妮小畫家 ~獻給媽媽的母親節畫作

獻給媽媽的母親節畫作

蓁妮花了約兩星期,利用中午休息時間不睡覺時,特別到她們學校的電腦教室,利用「小畫家」畫了這一幅畫,是要獻給媽媽,當作是母親節的禮物。

皎白澄靜的月亮,掛在充滿星空的月夜裡,餐桌旁繫了一對漂浮的愛心形狀的氣球,桌上是蓁妮幫媽媽準備的小點心,有三明治、糖果、葡萄酒、餅乾堆砌的小金字塔。這是慰勞經年累月辛苦的媽媽。蓁妮向媽媽獻上一杯沒有酒精的葡萄酒,向媽媽說:「媽媽,妳辛苦了,我好愛妳!」

貼心的蓁妮,母親節還要用她自己的零用錢,向 7-11 預訂母親節蛋糕,要與媽媽、妹妹、附帶加個我,共度個溫馨的母親節假日呢。 :P

【iThome 連載單元—1】漫談系統整合—誰是老大?

最近在「iThome 雜誌」的技術專題上連載我對軟體架構的看法,並利用一些以往所碰過的個案來探討。每一個單元以一張(最多兩張) UML 圖為主軸,再以此延伸,以文字敘述出來,文章內容會有些批判與暗諷性質,當然不會指名道姓。

連載主題:軟體架構鮮思維—利用 UML 圖看圖說故事。
第一期的主題是從我以前 Blog 所整理出來的,題目是:「漫談系統整合—誰是老大?」

因為雜誌版面有限,無法將我完整的內容刊出,所以待雜誌出刊後,同時我會將我的原稿公布在 Blog 內,供讀者們參考。

另,包括大陸的雜誌,也同時有邀稿,所以關於爾後的投稿內容,我均會公布在新分類「雜誌邀稿」上。

前言

筆者擔任軟體顧問輔導與服務已多年,本身所擔任的角色為 “軟體架構師(Software Architect)” 一職,輔導的對象為一般軟體 ISV(Independent Software Vendor) 以及中、大型公司的 IT 部門。擔任架構師多年,經常一直思考架構師的職掌及所該具備的技能與素養,也逐漸培養出一種直覺、感覺,往往一眼可以看出某系統的架構好壞、或是軟體設計師的設計意涵等...。也藉此,筆者準備在本連載單元內,以曾經輔導過的個案,或所經歷、看過的一些 “現象” ,包括個人的心得與體會等,以 UML 圖來 “看圖說故事”,每一個單元都是一段個案、故事,同時也是案例分析。藉由各種面象與分析,帶領讀者們來看待與解釋架構,在之前,筆者先對 “架構” 一詞作個基本的說明。

由於國內軟體應用開發廠商係偏以專案開發(Project-based)的方式來從事應用軟體開發,而專案開發,先天有個不良的本質 – 時間永遠不足,所以專案開發的首要目標是要在有限甚至不合理的時程內把系統給 “做出來”,再來是求效能佳,至於彈性、可維護性等,那是以後的事情,而根本問題是,那個 “以後” 也就是系統爾後糾纏不清的 “病因”,同時,這也導致軟體開發人員普遍存在一個很大的茫點 – 見樹不見林。

那個 “樹” 代表著軟體技術人員只重視將系統給做出來的實體平台“技術”,諸如深入去瞭解 “如何用” .NET 或 J2EE 的系統平台技術;或是系統分析人員往 “問題領域(Problem Domain)” 的方向鑽研。兩者卻鮮少用心於 “純” 軟體設計,俱足軟體領域應有的技能與技術,那麼,什麼是 『純』 軟體的技術? 答案又是很簡單:抽象(Abstraction)、封裝(Encapsulation)、介面(Interface)與相依性(Dependency)分析的觀念 …等。

兩者的角色,一則往系統面的技術鑽研;一則往問題領域面的知識來走,兩者是越來越偏離,而不容易有互補了。自然而然,這也就如 “第五項修練” 一書所提及的,開發團隊已經喪失了整體系統思考的主動積極,同時,那個 “林”,也就是一種 “整體”,或稱之為 “架構(Architecture)”,早已蕩然無存,不知架構為何物了。

什麼是架構(Architecture)?

架構(Architecture)一詞,非常之難解釋,若真要一言以蔽之,那麼,可以說, ”架構” 是一種整體觀,需要保持從各角度看待架構時,仍有一致性與調和的觀點。

對 ”架構” 要能有充分的理解與認識,至少要能確實瞭解與體會下列幾個與架構至為關鍵的意涵與術語,包括了:整體-局部(Whole-Part)、觀點(View),包括巨(Macro)觀與微(Micro)觀、焦點(Focus)、層次(Layer)與廣度(Boundary)等。

擔任軟體架構師(Software Architect)必備的素養,即在於:觀照整體的能力。

筆者在輔導許多軟體公司的專案開發與教育訓練時,發現到與開發團隊對 『架構』 一詞的認知與定義大不相同。個人發現到,大部分的 IT 技術開發人員,所表達出來的架構,是比較偏向於實體層次如 .NET, J2EE 的 IT 技術層次。不是不對,而是 IT 實體層次僅是架構的觀點之一,並不足以代表整體的架構觀。

筆者想試著利用以上述幾個術語來解釋 『架構』。畢竟,架構的設計,牽涉到相關於設計中系統的議題與範圍太廣了,包括:團隊開發的共識、開發流程(Development Process)的制訂,分工與外包(Outsourcing)控管、系統的彈性、延展(Scalibility)與維護性等。

金剛經有云:「凡所有相,皆屬虛妄,見諸相非相,即見如來」。
『相』,是被具化、可以看得到的形,如同軟體模型,是被具化的產出(Artifact),也就是 『相』。而 『如來』,是不著相的,架構即為如來,所以架構也可以說是一種空、無。

問題來了,既然不著相,你又如何知道何為正道,何為如來?

佛教禪宗有個「以指標月」的譬喻:對於一個從不來不知月亮為何物的人,在蒼茫的星空中,不知那一個叫做月亮,這時候就需要一個認識月亮的人,用手指著月亮說:「那就是月亮」。同樣的道理,你又能如何瞭解甚至來驗證架構(如來)的正確性呢?

有經驗的架構師(Architect),會以各種不同的角度(以上所涵蓋的幾個術語),建構各類型的軟體模型,來看待並解釋「架構」。如同「以指標月」一般,對架構有深一層體會的架構師,會以導師(Mentor)的角色,利用各種工具來具化產出,以引導系統開發團隊的成員們認識「架構」。

UML, 程式碼等只是個標示工具,而所謂「架構」,是一種共識、一種默契、一種無以言欲的整體調和感。

繼續閱讀 »

蓁妮去年(2005)的英文班導師發生意外,驟然去逝

前兩天,蓁妮與 Annie 放學後跑來告訴我,他們以前學校的外文老師 Teacher Jason,在渡蜜月時發生意外,Teacher Jason 被土石流活埋,Annie 的班導師還哭了一整個下午。今天(04/26),「蘋果日報」也確認刊出這個新聞了,蓁妮在「育才國小」就讀三年級時,她們的外籍英文班導師,蓁妮都稱為 『Teacher Jason』,上週五(04/21)在美國加州的老家,一個人獨自在客廳與狗狗看電視時,因為大雨,引起的土石流,竟然客廳塌陷,結果掉進洞內遭土石流活埋殞命,留下了從台灣嫁過去的妻子,還懷有5個月的身孕。這麼離奇的事怎麼會發生? 我聽蓁妮說,Teacher Jason 的老家原來地底下是好早以前挖金礦所遺留下來的礦坑,但他們並不知道,地基是建立在脆落的地層上。

唉,Teacher Jason 才在去年底結束五年的台灣任教,他整整教了蓁妮一整年的英文課程,而且是全校最受歡迎的英文老師,真的非常受到小朋友的愛戴,近 200 公司的身高,瘦瘦的身材,留了一小撮的山羊鬍,人卻是非常的隨和。我常常聽到蓁妮說她們 Jason 老師是多麼的幽默,有次早上的朝會時,Jason 老師還用生硬的國語對全校師生演講,蓁妮還口述表演給我看,他光是說「校…長、老…師、各位…同學…大家好…,今天…天氣很好! 謝謝各位,我的演講結束」,因為只有兩分鐘的演講,光想到他用國語演講時那個吞吐時的樣子,就捧腹大笑。

去年「育才國小」五月的校慶時,Teacher Jason 高大的身影,一個人獨自在樓梯前打著大鼓,我們蓁妮還跑過去與他拍照合影,我的印象非常深刻,好像才沒多久前的事。

前年呢(93 年度),在中和「仁愛公園」的「敬師邀月聯歡晚會」,Teacher Jason 還是唯一得到優良教師的外籍老師,可說是實至名歸的好老師。

聽到這樣的消息,我真的好難過,也好感慨,人生苦短,一個意外的發生,說走就走。人生啊,真的要把生命花在有意義的地方去,為了工作、權力的競爭等算計與計較,實在不值得。

健康、平安、幸福,能陪伴家人、小朋友們,共渡成長,這才是人生最富有的資產。

93 年度永和敬師邀月聯歡晚會,Teacher Jason 榮獲優良教師獎

Teacher Jason 與蓁妮在育才國小 94 年度的校慶合照

【軟體設計單元課程(一天)】Design Patterns 一日遊—把軟體做軟(2006/05/20)

報名與詳細課程資訊請至:
http://www.hsdc.com.tw/modules/eguide/event.php?eid=16

想知道如何將軟體作軟嗎? 想瞭解如何運用前輩們的智慧結晶與設計法則 (Design Patterns),來協助您如何解決現實設計所面臨的困境與難題,甚而,更進一步,能進而活用與創造出所屬自己與團隊的 『設計模式』 嗎?

本課程利用一天的時間,揭露出軟體設計師最常碰到的幾個樣式(Patterns),除了個別介紹這些樣式的使用目的與意義外,並進而一步,教導您如何綜合運用,重構出更具應變、擴充能力的結構。

擔心一天聽不懂與吸收不及? 不用擔心,本系列所有單元課程均免費保留學員重新選修旁聽乙次的權利,並可以透過討論區發表您的問題,HSDc. 顧問與講師群們均會樂意協助您解決問題的。

Design Patterns 一日遊—把軟體做軟(2006/05/20)

【軟體設計單元課程(兩天)】使用案例寫作實務、應用與實現 (2006/05/27~28)

報名與詳細課程資訊請至:
http://www.hsdc.com.tw/modules/eguide/event.php?eid=15

想瞭解如何建立高品質的使用案例需求模型,並知道如何從使用案例產出具體可執行的程式碼嗎?同時,您想知道如何利用使用案例圖作為架構的觀點工具,並且得以明確地界定系統的範圍與層次嗎?

使用案例應用與實務課程(05/27~28)

轉折訊號是順勢還是逆勢操作?

當大盤加權展開上升波段,持續走高後,若買盤開始不繼,成交量無法放大,可能會有一些跡象顯示大盤可能反轉,轉折訊號可能包括 『島狀反轉』、』夜星』、』與均線乖離過大』 …等,此時,投機者可能會先搶先佈局空單,以謀取最大的獲利。

電視投顧節目的分析師,大部分很喜歡 『預測』 轉折訊號,也就是所謂的抓波段高(或低)點。姑且不論抓轉折是否 『神準』,因為,沒有人可以當上帝,任憑市場由你擺佈,不過,我倒是想從其它的角度來思考抓轉折的目的與其心態為何。

轉折是順勢還是逆勢?

出現轉折的訊號既然是以 『預測』 的方式抓高點,且價格K棒幾乎都位於 10/20/60 日均線之上,那當然是逆勢操作,因為,所謂的「順勢而為」是不作預測、不抓高、低點,並且是確定趨勢明朗後,才 『順』 著趨勢走。

預測轉折的目的

既然,現今幾乎絕大部分的投機專家以及各種期權操作的書籍,都諄諄教誨,要順勢而為,不要逆著大勢,與市場過不去,那麼,為何還要逆勢操作呢?

這也是牽涉到投機者的心理面,以及順應現今市場詭譎多變的盤勢,現在的盤勢,要能等到多、空明朗的市場主波段,並不容易,況且空方也會積極在多頭走勢時佈局空單,主動出擊。還有,若投機者沒有在波段上升的起點附近進場,當波段可能已上升 1/3 以上的走勢時,心理可能會產生畏懼,覺得買點已高,反而不敢進場。

所以,預測轉折,比較積極敢於冒險的投機者搶在較早時間點進場佈局,目的就是為了 建立部位!

建立部位,如同是建立灘頭堡。當搶灘成功後,就可以逐步推進,也就是當確定方向正確後,就可以逐漸加碼進場,由於有部位基點,所以心理會覺得比較踏實,加碼的心態也會比較勇於投入。

預測轉折的風險考量

預測轉折的風險高不高? 既然是預測,風險其實蠻高的,所以,投機者要能設定比較 緊密性的停損,千萬不能 『硬凹』。若趨勢沒有照預測的方向走,那麼,損失的就是一小部分資金,換句話說,可能以幾個連的陸戰隊與傘兵部隊,搶攻灘頭堡,若失敗,連隊的兵力可能會損失掉,但是卻可以保護好幾個師的大軍,避免一開始就陷入艱困的戰局;但若成功,隨後的大軍即可順利登陸,推進的攻勢也就會勢如破竹,一路順暢了。

案例分析一

2005/01/03 大盤加權日線走勢圖
圖、2005/01/03 大盤加權日線走勢圖(縮略圖,點擊圖片鏈接看原圖)

觀察 2005/01/03 的大盤加權日線走勢圖,這是一個非常典型的夜星訊號,且K線價格棒與鱷魚的均衡線(Balance Line)夾角過大(乖離率大),所以在 A (01/04)點附近,空單進場。

繼續閱讀 »