使用案例分析常見的幾個問題

前言

要能建構一份有效的使用案例需求模型 (Use Case Model),比想像中得難,使用案例是 “易學難精”,只是那麼幾個簡單的圖形元素來畫使用案例圖、以及僅用白話的文字敘述來紀錄使用案例的需求描述,但是,若沒有把持使用案例最根本的原則與精神,真的很難寫得好。筆者在諸多 IT 單位的顧問輔導經驗中,所看到多個單位所 “畫” 出的使用案例,10 個中就有8個有問題,探究其中最大的問題,在於寫使用案例的需求分析人員,很難擺脫掉 “既有傳統” 的束縛,例如會從企業流程 (Business Process) 的觀點來分析使用案例,或者是馬上就聯想到系統內部的實作問題,包括權限控管等問題。筆者常開玩笑的說,要能寫好使用案例,最好本身就是 “無知”,不知道企業流程的邏輯判斷規則、”看不到” 系統內部是如何實現(Realize)使用案例的。奇怪的是,要能 “逼” 自己 “無知”,對系統需求分析人員好像很難,而且往往就是在不知不覺中,就把既往對 “領域” 與 “平台” 的知識給表達在使用案例中,事實上,根本就是把使用案例當成是 “另一種” 需求記錄的工具而已。

很是可惜,筆者一直認為,使用案例絕對是以 “專案型態(Project-based)” 開發的最有效利器,它表達的就是 “純粹” 的資訊系統 “局部” 功能觀點的需求模型,只要能寫好使用案例,甚至在不需要作系統內部結構分析的情況下,馬上就可以轉移至程式碼的實作階段,而且是很快速直覺。再利用分析層次的類別 (analysis class),就可以建構符合三層 (3-tier) 結構的 MVC 模型,有效隔離 UI 與資料庫的變動性,同時,再加上一個極為重要的手段:
”對每一個使用案例”,都加上能驗證功能的測試程式碼!” 如此在每一次的功能需求變動,都能提醒開發人員注意變動的影響部分,包括功能測試碼也跟著要修正。

為了順應短線的專案開發生態,快速實現「使用案例」,馬上導出至系統的實作,是最有效與最現實的手段。然後加上兩個配套的措施,以確保專案的品質:以使用案例為單位,撰寫功能測試程式碼;利用分析類別,建構符合 MVC 的三層實體框架,以隔離 UI 與 資料庫的變動。

而當第一個釋出(release)的專案能滿足系統的功能需求後,因此而能取得更多的開發資源,以及開發人員的溝通默契與技能逐漸成熟後,且已有基本的框架結構,此時再針對程式碼施以重構(refactoring),以及對結構作重整(refine),兩者是屬於系統內部結構分析的範疇,如此而更有機會成為可再利用性高價值的產品(Product)。

所以,如何寫出有效能確實表達系統功能觀點的使用案例,可以說是專案開發成功與否最重要的關鍵。但如同前述,使用案例是「易學難精」,在此筆者列出幾個比較常見的問題,再以簡單的三言兩語來說明為何這些是問題、SA 大概是以什麼角度、假設點在分析使用案例的,然後筆者再提供修正後的建議。底下的每一個問題,是經過簡化,實際的案例,大部分是同時有著眾多下述的問題合著來的,而開發團隊卻經常有茫點,而無法理出問題會是在哪裡。

1、從企業流程的觀點描述使用案例之間的關係

問題:
這幾乎是因為太清楚領域知識與業務流程的 “資深 SA” 所畫出來的,經常都會把使用案例當成是企業流程的活動(activity),然後 “想辦法” 將這些使用案例依據業務流程的規則與順序給 “串起來”。請記得!! 使用案例是不表達業務流程的,業務流程的表達,會利用如活動圖(activity diagram)來描述,使用案例僅僅是表達參與者在某個時間點使用系統的局部功能觀點。

問題—從企業流程的觀點描述使用案例之間的關係
圖1、問題—從企業流程的觀點描述使用案例之間的關係

修正:
絕對不要把業務流程的觀點給表達在使用案例的,就是老老實實,根據參與者希望系統該提供 “哪些系統功能”,這些功能,就會成為一個個的使用案例。

修正—只 “老老實實” 表達局部功能觀點的使用案例
圖2、修正—只 “老老實實” 表達局部功能觀點的使用案例

繼續閱讀 »

【老片分享】經典功夫喜劇片—敗家子
【老片分享】敗家子 【老片分享】敗家子(Prodigal Son)
———————————–
導演: 洪金寶
主要演員: 元彪、洪金寶、林正英、陳勳奇
上映年份: 1983 年/香港
類型: 動作 / 喜劇
片長: 104 min

內容簡介
梁贊是父母疼愛的九代單傳獨子。父母常聘名師與梁讚過招,讓名師佯裝被擊倒,梁贊於是以為自己功夫了不得。一日與梁二梯過招,梁贊被打得落花流水,才知自己武藝平庸,遂不顧一切求二梯教授其武功。二梯感其誠意,向他傳授短橋泳春,二娣之師兄則教他"長橋泳春"。後來梁贊大悟學武之道,還另創新招,返佛山設醫館施藥濟貧。王爺義子倪飛慕名前來討教,王爺怕義子不敵,暗派殺手刺殺梁贊,結果倪因愛惜梁贊之武藝,在奮不顧身阻擋殺手時自己被殺,梁贊因此感慨萬千……

今天下午我又在電影台看到這一部功夫喜劇片,好像是讓我看到重播有四次之多了吧,每一次我還是把它看完,而且百看不厭,但但最可惜的是,電影台的有剪接,而且最精彩的是最後一幕重頭戲,元彪與陳勳奇的 "比武切磋(其實幾乎是以性命對博了)",但電影台卻給剪得一塌糊塗,實在可惜。為什麼我會知道?因為,在 20 餘年前,我就已經在電影院看過了。

我還記得很清楚,當時是在台中就讀「雙十國中」,最經常與同學去「金馬遊藝場」附屬的小戲院看二輪影片,本片就是我當時所看的影片,而且是過了20餘年,腦海中還很清晰,無法忘懷影片中精彩的動作與劇情。

劇中演得最好的,莫過於林正應與洪金寶,林正英已於幾年前去逝,當年五專時,特地與同學蹺課去西門町看的「暫時停止呼吸」,就是林正英所主演制服殭屍的茅山道士。當時可真是造成大轟動,而後就引領了一股黑色喜劇的殭屍片潮流。事實上,林正英本就是具有真功夫的「詠春拳」好手,在劇中飾演反串的名角「梁二悌」,其乾淨俐落的拳法身段,實在演來精彩;而洪金寶,那更不消說,在此片中,他其實是主導本片的導演,然後只是客串演個配角而已,飾演的是梁二悌的師兄,但經常與之抬槓。很搞笑,但是從此片中,就可以看得出,世上還真沒有幾個人如洪金寶一般,如在戲中所稱:「俺的身材有如大象,但動作卻有如猴子一般靈活」,也難怪近年洪金寶在美國所主演的電視影集:「過江龍」,相當受到老美的好評,也讓老美真正見識到洪金寶的 "Chinese 功夫" 。

當然,劇中的主角是元彪所飾演的 "敗家子" 梁贊,元彪的功夫身段,那是沒話說,當年的「A 計畫」,更是突顯出成龍、洪金寶、元彪的金三角組合。本片中,最為經典的一幕的當然就是梁二悌被飾演僧格林沁獨子陳勳奇的兩個隨從(其中一人是由狄威所飾演)暗殺後,元彪找陳勳奇「比武切磋」的精彩橋段。元彪使出兩位師傅(梁二悌、洪金寶)所教導的長、短橋的正統詠春拳,陳勳奇使出的是西藏的金剛拳之類的硬功夫(陳勳奇演得也是相當好,我還不知道他也是有武功底子的),經過一連串激烈的打鬥後,陳勳奇終於被狠狠的打成重傷,最後的一幕是,陳勳奇奄奄一息的大聲說著:「梁贊,你了不起!!」,而元彪很帥氣的穿回衣服,在心理回應:「哼,這還用你說!」

精彩,精彩,實在好看!! 我一直覺得,早期功夫片,就是乾淨俐落,也不誇張,不耍特技,完全都是真功夫,簡單的故事情節,有些搞笑的劇情,凸顯的是真底子的功夫,這才叫典型的中國功夫片嘛。

在找這一片的相關資訊時,同時也瀏覽到國外的網友評論此片,國外的網友對此片的評價也是相當高,我看到的是九個網友均給 10 分的滿分!! 特此節錄某位網友的評論:

This is my favourite marital arts film. A brilliant blend of fighting prowess and slapstick humour.

What makes it so good? Well, I admit that doing (a little) Wing Chun makes me a bit biased, but the training sequences are impressive and informative. The choreography is top notch and more than any other martial arts film I’ve seen, when the punches and kicks land they actually look painful.

It’s also funny with the strange slapstick that only Chinese martial arts films can manage. Even the over-the top make-up (bright purple bruises!) adds to the charm. Basically if you like Martial Arts films this is a must-see.

很想能買到本片的正版 DVD,但一直找不到,不知是否有網友們知道哪裡可以買的到本片的正版呢?

【美食推薦】永和四號公園旁的「靴子」義大利麵餐館

下午三點多,全家一同到永和四號公園旁吃中餐。我老婆直說上次她弟弟帶她與女兒們吃過的一家義大利麵餐館相當便宜又好吃,這次想帶我也一同來品嚐看看。 從永和安平路左轉(四號公園就在旁邊)到中安街,在「全家便利商店」與「何嘉仁美語」的巷口(單行道,車子無法直接進入)進去,就可以看到這家「靴子」義大利餐館了。

雖然四號公園周遭有停車格,但在假日,這裡很難停到車,除非要開到公園央圖的地下停車場內。我是運氣不錯,從下一個巷子勾回來在店門口還給我停到車了。

20061125_「靴子」義大利餐館門口

20061125_「靴子」義大利餐館_海鮮總匯義大利麵

繼續閱讀 »

【好書分享】林海峰圍棋之路
林海峰圍棋之路: 從叛逆少年到名人本因坊 林海峰圍棋之路: 從叛逆少年到名人本因坊
———————————–
作者: 作者/ 黃天才
出版社: 聯經出版事業股份有限公司
ISBN: 9570830522

內容簡介
在一般人的印象裡,林海峰是天之驕子,他從小就享有「圍棋神童」的美譽,得到當年喜好圍棋的各界大老們的愛護,小小年紀就去日本學棋,參加日本棋界專業棋士的公開大賽,由於實力超強,升上八段就打敗了日本當時棋力最強,獨霸著七項大賽冠軍榮銜的坂田榮男九段,從他手中奪下了棋界最高的「名人」榮銜,成為日本棋界有史以來最年輕的「名人」。
隨後,趁勝追擊,先後奪下了本因坊、十段、天元、王座等三十多個冠軍榮銜,叱吒風雲,開創了日本棋界所謂的「林海峰時代」……。

光看這亮麗的成績,很容易讓人認為他是得天獨厚的人,但事實上,在這光鮮表面的背後,命運之神給他布下了一層層的不幸與挫折來折磨著他。

海峰四歲喪母,十三歲父親過世;十歲就隻身被送去日本學棋,從此就沒有再回過家。他孤獨在國外,長年過著寄人籬下的生活,一度因為無人管教,自暴自棄,走上了叛逆之途,盡情放縱自己,不規規矩矩上學,也不肯好好學棋,在日本棋院作院生時竟遭降級,幾乎把自己的大好前程都斷送了。幸而他父親的老友及時搶救、善加規勸及開導,他才迷途知返,回到正軌上來。

日本棋界以「二枚腰」,來形容林海峰在棋枰上頑強拚搏、不肯認輸的鬥志與狠勁。其實,在人生道路上,林海峰又何嘗不是靠「二枚腰」的狠勁、不認輸、不退縮,咬牙奮進走過來的。他為年輕人勇敢面對人生逆境,奮發圖強必能成功立下了典範。

今天早上,拜訪松江路某家軟體公司並與總經理夫婦倆一起在「六福客棧」港式飲茶愉快用餐後,難得下午沒有事,想說就近到「應昌期基金會」拜訪我的老朋友楊佑家秘書長。

我與他見面總是喜歡閒扯蛋,經常開一些玩笑(我開的玩笑比較多,讓他笑得還蠻開心)。沒啥事,就順便找我下一盤棋,兼帶一點 "小彩"。楊與我下是讓我三子,雖然我 "號稱" 已有四段,但遇到這種超強老六段,前兩年讓三子可還大部分輸棋,倒是最近,大概已連贏有四、五盤了吧,但為了 "敬老尊賢",我還是 "恭敬" 地擺上三子,反正有下小彩,雖然面子不光彩,但比較能有機會贏得 "裡子"。 ;D

局面一直是領先著,到中盤還創造出 "三擊" 的好機會,但隨手的老毛病又出現了,在關鍵的接觸戰中下得太快,竟然有一團要子要被切斷。看來不妙,所以我先旁敲徹擊白棋一塊棋子,在打吃某一塊白棋時,若楊在中央加補一手,我把那一塊吃掉,局面是我稍佔優勢,但是卻已經是拉近不少了。不過常理上,楊也沒有多加細算,常情上就給黏上去,結果我打吃的那一顆黑子成了最關鍵的作用,讓我反而經過幾手的過程後,緊貼白棋,反倒讓我吃掉白棋的棋筋。楊雖仍不屈不撓堅持到大官階段,但差距實在太大,不得已投子,嗯,中盤那個妙手順,個人還挺滿意的。 :)

局後楊當然懊悔說早該加補一手的,怕他太難過,彩金也不要啦,送我一本書就好了,我要的書就是這本「林海峰圍棋之路」,兩個月前在「誠品書局」看到本來就要買的,但沒打折,本想說過幾天在「博客來」訂購。這次的好機會,讓我可以 "凹" 到這本書。更更讓我驚喜的是,楊送我的這本書是有林海峰在上個月的親筆手寫簽名!! 88|

林海峰親筆簽名

林海峰的簽名,字體實在工整好看,看了自傳才知道,原來林海峰在當上「名人」後,因為要應付大量簽名的緣故,所以著實有向書法名家學過寫字。

本書可是經由林海峰同意出版的「傳記」,除了指名要由本書作者擔任撰稿人,然後以第三人稱方式,撰寫他的傳記。林海峰在整個撰寫的過程中,還主動提供資料、協助採訪、並配合撰稿、同意最後的審稿。因為林希望即使是不懂圍棋的人,讓大家能透過該書知道,他並不是得天獨厚、少年得至的天之驕子,他的一生,從童年到成年,一路走來,並不順利、並不平坦,他在人生道上所遇到的橫逆與挫折,並不比他在棋戰中所遇到的驚險困境少,他是咬著牙硬挺過來的,希望他的這些過程、經歷等,能讓青少年讀後有所啟發。

難怪林海峰在日本棋界享有如此高的盛名,不僅僅是除了棋力高強外,更因為他是少有人品極為敦厚的謙謙君子。自從在日本因在 23 歲弱冠年紀就拿到當時日本第一人的「名人」頭銜,造成「林海峰時代」後,跟隨他的腳步,先後從台灣過去的旅日棋手,如王立誠、王銘琬、張栩(尤其張栩,更是林海峰所收的最得意徒弟)等,林海峰都以大家長的身份,對每一位棋手都照顧有加,而他們也都能繼續其傳承,各自有其出類拔萃的表現與成就。同時也難怪林海峰是當今世界圍棋第一人李昌鎬最為尊重與敬佩的長者。

歷史性的一局:吳清源指導十歲的林海峰

本書詳述了林海峰如何從是台灣本土所培養的「圍棋神童」,然後因緣際會,吳清源大國手來訪台灣時,授六子給當時年僅 10 歲的林海峰,雖一目落敗,但也證明林海峰的確有其天分,而後才會成就第一位從台灣過去日本學藝圍棋的專業棋手,更是造就了有史以來第一位在 23 歲就取得當時日本最高的「名人」頭銜(在此之前,要能得到頭銜,被認為非要到 40 歲才能到達所謂「登峰造極」的高超棋力)。

書中更為著墨更多的是,林海峰當時擊敗的是,才剛從吳清源手中交棒的「坂田榮男」。當年「圍棋之神」吳清源能與之抗衡的,也就只有坂田一人而已,他們的對戰,號稱是「龍虎爭鬥」,對局內容,從頭殺到尾,精彩至極。但後來因吳的年紀漸長,又碰到一次嚴重的車禍,讓吳爾後每每在棋局比賽的後盤,因劇烈頭痛而無法下棋,不得已而引退棋壇,同時也引領坂田的獨領風騷年代。

坂田的可怕之處,在日本當時完全無人能敵,八個頭銜比賽,坂田一人獨得七個!! 而一個初出茅廬的小伙子,在此之前,還從沒贏過一盤對坂田的對局,結果竟然贏得第四期名人賽的挑戰權,更不可思議的是,從沒有人認為對林海峰有任何期待或幻想,包括台灣棋界也是如此。更大的奇蹟,還真的就在林海峰的手上發生實現了,當時造成的轟動,包括日本,更甚者台灣更是帶來驚天動地的震撼,而後也才能造成台灣圍棋的菁英們,自小就負汲東瀛,成就圍棋事業。

喜歡圍棋的朋友們,推薦此書,相當值得閱讀收藏,也透過此書可以同時瞭解,透過林海峰的圍棋之路,日本圍棋界的生態與制度、當年各個與之爭鋒的頂尖棋手,以及走向國際圍棋的局勢 …等,是一本活生生的寫照歷史。

軟體其實還真的蠻有趣 (1)

這兩個月,我們顧問團隊,還可真是相當地忙,從 10 月到現在(包括到年底),幾乎每天都要出去,除了對企業的軟體設計教育訓練、IT 資訊單位專案開發的顧問輔導,還有幾個正在洽談的專案輔導案 …,喔,還有演講與座談會等。嗯,看來「軟體設計顧問」這事業,在我們手上,慢慢已有逐漸紮根,也有許多軟體公司與 IT 單位等越來越比較能認同我們的軟體設計理念,以及所帶給他們所謂的 "最佳實務" 的方式。

以上星期而言,我與 Ringle 竟然一起跑了五個單位,最有意思的是,每個單位的需求範疇與實現的平台都完全不一樣。嘿,這對我而言,實在是樂趣多多,客戶所牽及問題的廣度與深度,讓我得以從各種不同的觀點與角度來思考與回應。我是不太擔心會被 "問倒",反而是有些擔心客戶不太敢提問問題,有時反而還要我主動來 "引導" 客戶來回應與互動討論。

因為上星期所發生的一些事件實在很有趣也有意思,甚至,還蠻有成就感的,所以還蠻想分享個人的心得與樂趣,藉此也說明,我,以及 Ringle,都很確定一件事: 軟體設計真的很有樂趣,解決問題(問題越大越複雜越好),是一種享受,而不是折磨。

星期一,是固定到國內某大零售超商的資訊公司,擔任某一個專案的顧問輔導。該專案在我們加入前,據他們說已跑了兩個月,仍然在需求面的分析還沒 "定案",所以無法轉到 "Coding"。嗯,這已是普遍軟體公司專案開發的 "常態",我們是從不信這一套,所以輔導一開始就重新 Review 與決定架構與開發設計範圍,然後找一個大 BP(Business Process),逐漸收斂,以活動圖(Activity Diagram)描述與記錄後,再協助他們依據我們所給的一個簡單 "mapping" 的原則,就可轉出到對資訊系統開發最有效的使用案例 (Use Case);再來是打開一到兩個的使用案例,利用基本分析類別(analysis class)的框架,利用循序圖來描述出內部結構元素的互動情形;然後… 第四個輔導日就給產出實現使用案例的應用程式碼,還包含了測試案例與功能測試碼等。整個輔導的過程,是還同時負責這些相關設計產出的教育訓練。我們是蠻主張的,從一個小型的實戰專案中,藉由有經驗的顧問,擔任教練的角色,協同作戰,快速跑過整個開發循環,然後從過程中釐出團隊成員彼此間看法與想法的分歧、再慢慢去作 "調和" 的工作,快速開發、快速產出、快速取得回饋,這是我們一而再地強調 "Iteration" 的最佳實踐!

星期二,我們是到淡水附近,國內某家非常大的保險公司,當然也是資訊單位,這兩個單位的 IT 資訊人員可是各約有 100 人左右,規模算是蠻大的。這家保險公司花了數百萬元購買國外某家非常非常知名大廠的 "Business Framework" 產品,光是設計文件就有數百 MB 之多,但,該產品卻並沒有被 "實現(Implementation)" 至某一平台,所以,該單位當然是想盡辦法希望能實用到該產品所提供非常浩瀚的領域知識(Knowledge),不過,兩年來,該 IT 單位委外其他 ISV 實現的成果一直不佳,無法符合他們的期望。

嗯,在前幾次與該單位的 meeting 會議中,我看過該產品,的確廣度與深度相當地浩瀚,從 Activity Diagram, Use Case, Object Model, E-R Model, Interface Design Model …等,一應俱全。我與 Ringle 看過之後,也相當驚嘆,看來是 "名家" 的作品,直覺的判斷,應該是 Grady Booch 幾年前專案開發的產品。 讚嘆之餘,不過,我是認為,要實現好像沒有想像得那麼難,若連一個案例都沒有被實現出來,應該是分析的手法與角度有些問題。 一般呢,我們在輔導某家客戶之前,總是會由該單位提出案例,我們會利用一個 "prototype" 來實現整個架構與結構的設計呈現,眼見為憑,當然,總是需要證明一下我們的 "實力",也算是一種試煉,同時也比較能確保若談成輔導案時的一種信賴度。

在進行這一個 prototype 之前,其實前幾星期他們已先找過該產品在國內代理的 "某大廠",該大廠還委請國外的專家來進行 10 天的輔導與試行開發(與原型開發意義是一樣的)。但,結果仍非他們所期,雖然有完成功能面的需求實作,但,這不是他們想要的,他們要的是,在結構面要能完全支援該 business framework 規格的 Interface Design Model,而,往往一個小小的功能,可是要 "串" 上 10幾20個企業元件,這可還沒有牽涉到平台面的實作物件喔。

早上的會議作了一些其他議題的討論,包括教教她們如何抓出 "essential entity",然後該如何 mapping 至該 business framework 產品內 E-R Model 的那一部分。嗯,看看樣子,其實她們應該也是沒有期待這次的 prototype 能有所 "成果",這麼多人,花了那麼多時間,就是一直打不開這個 "潘朵拉密盒",只有我與 Ringle 當天在該 prototyping 會議,我們又不懂該領域的相關知識,怎麼會有可能給實現出來? 嗯嗯,我好像一直很樂觀,甚至,並不覺得這有難到無法解開,我是這麼認為,要能找到這把 "關鍵之鑰" 來打開寶盒,從 Domain 的觀點與 IT 平台實作的角度切入,都不太正常,那是個 "Business Framework",是軟體大師的作品,當然要從 "純" 軟體的角度切入才有可能解開!!

我與 Ringle 都是這麼確信,只不過,我比 Ringle 更來得樂觀就是了。中午吃飯時,Ringle 還有些 worry,但,我還是一直很有信心,信心的一個最主要來源就是,我是相信 Ringle 一定可以找到方法切入 prototype 的實作面的。要當場就能展現從浩瀚複雜表象的文檔裡,分析出脈絡,還要能具體實作,這可非 Ringle 莫屬,這我可沒辦法(我能看出問題與茫點,但實作的功力,可是差一大截),而且,我真的不得不佩服,Ringle 還真是這一行的天才,吃完飯後,他已經想好實現的方法了,而且,一想出來,馬上開始動手,除了利用 EA 定出好幾個層次的 Interface 元件後,找出要實現這一個功能的 operation(每一個 operation,又會呼叫其它的 interface,環環相扣),然後寫好使用案例,光只是一個查詢功能,就會呼叫到 10 餘顆的 interface,又要 "想像" 來寫出具體實現的物件 …。三個小時,還真讓 Ringle 給完全寫出來了,只差沒有加上與資料庫連結的這一段細部設計。 她們部長(很漂亮與和藹的女生)以及其 SA 這次可真是相當驚嘆,我們所展現出如何分析的手法與思考邏輯,以及如何具體呈現的設計與產出,正是她們所沒有,也正是她們真正需要的,Bingo !!

總算睜大眼睛了,然後更希望我們能加上與資料庫連結的那一段細部設計與實作,所以再約定了下一個星期再展示算是第二個循環的 prototype。還是 Ringle,只利用星期日的時間一天 "順便" 學一下 Java Spring 與 Hibernate,整個 prototype,實現一個使用案例,從 JSP 到企業元件到資料庫,就給徹底的給實作出來了。 今天早上呢,就是去展示這個 refine 的 prototype,再作一次更細部的解說,大家都很滿意,也都很 Happy,明年度的顧問輔導合作,應該是很有機會創造 "皆大歡喜" 的成果出來的。 還有,這一次也可以說是這幾年來最有成就感的一次,要能 "看到" 一個內部都是完全以interface 為主的企業框架,可真是難得,然後透過我們手裡,而且別人還無法給實現,我們又只利用一到兩天的時間就 "打通" 脈絡,那一種喜悅與成就感,就是擔任軟體顧問職的最大價值了。

好了,回到家後,輕鬆一下,我的 "Relax" 就是玩「魔獸爭霸 3」對戰。工作是順利,但打電玩呢,就是不怎麼順利,又連敗了,這種即時戰略,要手與腦的全能協調,好像不太能適合我勒~

星期三早上,是應邀開車到台中「逢甲大學地理資訊研究所」作個演講。前幾個星期,已安排這天下午三個小時左右的演講,而在以 Email 溝通的過程中,他們的問題,是讓我有些失望,大概就是想找個 "方法論",找出 "How-to" 來解決他們在專案開發上遇到的種種問題,所以,問題諸如軟體專案從生命週期、分工合作模式、角色等面向,PIM, PSM 等模型該如何區隔 …等。嗯,簡報該如何準備? 這些問題,好像整理成 50 頁也講不完,但反過來想,好像一頁的簡報也能回答眾多這類所謂 "方法論"、"流程論" 等等這些軟體工程的問題,就決定了,準備一頁簡報來 "應付" 在場聽者的各類問題,而且我還很有信心,所有的線索與答案,都只在這一頁的簡報就能找到的。

我又與 Ringle 一起開車到台中,中二高沙鹿交流道下車,開車過大雅,有個很寬的道路,就給它右轉進去,我知道逢甲的方向在那邊沒錯,但是,進去的是新闢的科學園區,然後走到底就沒路啦。Ringle 馬上 Show 出他的 Treo Palm 手機,有個 ShowMap 導航軟體,指出我們大概的座標,沒想到,沒有地圖顯示中科的道路。真諷斥也真有趣,剛好也讓我想到開場的主題:為什麼國內某家知名 PXGo 的導航軟體,沒有支援 Palm, Symbian 等手機 PDA 系統,為什麼只能開發 MS 相關的應用軟體?

耶? 大部分的人是這麼認為:西瓜靠大邊,所以當然選擇主流的市場啊! 問題是,我的意思是,那為什麼不乾脆所有的平台都一起開發? 為什麼一套產品一定非得要與某個主流平台綁那麼緊,各家平台的實作技術,有這麼困難嗎?

真正的問題在哪裡呢? 這個導航產品的 "結構面" 不見了啦,根本沒有用心作好 GIS(地理資訊系統) 這個領域的概念分析與分解,而成為真正有效的軟體結構模型。該產品推論應是以專案的方式進行,然後直接從需求面的功能觀點,直接給轉移至與平台緊依的實作面,至於結構面,肯定是給忽略掉了。若是如此,當然無法 "萃取" GIS 這個問題領域的核心,也就是把該領域的重要概念與術語,給表達至軟體的領域模型上,然後再參考要實現的各平台特性,包括 Win Mobile, Palm 等系統,加上平台面的細部設計即可。 咦? 好像也就同時說明了 PIM 與 PSM 模型的區隔了。

Architecture-Centric Process

我用一頁的簡報就是以這張圖來作整個流程開發說明的。細節上我想就不再做說明,或者,我應該會寫另一篇文章來專門解釋一張圖的 "涵意",它可以 "讀出" 相當多的故事與假設點的,同時也代表一件事,從需求面切入與從結構面切入或甚至直接從實作面切入,各有其開發模式,絕對不會是一樣的,而所注重的開發角色與其技能也都不盡相同,那更說明了一個重點,根本就沒有所謂的一種 "標準開發流程" 可以被複製與管理的!! (未完,待續 ...)

筆記型電腦採購的考量

明年初,確定是要採購一台高等級的 Notebook 了,主要原因當然是因為擔任軟體設計顧問職,所以會到許多大型公司的 IT 單位輔導,又因為這些單位所使用的系統開發均不一樣,可能是 .NET or Java 的開發平台,例如使用了 VS.NET 2005 or IBM WebSphere。 所以我的想法是這樣的,對每一個系統有一個 "虛擬" 的作業環境,也就是利用如 VMware 來創建每一個開發環境的 "影像",而且可以透過外接硬碟方便攜帶。

其實,到現在為止,我還沒有真正為自己買過筆電,現在的這一台(IBM x22)還是兩年多前 Ringle 不要 "轉送" 給我的,而跑一般的文書簡報、或是跑 EA or Eclipse 等開發環境,仍是綽綽有餘,但是,如同前述,要能應付更為重型的開發平台,已經是無法負荷了。嗯,為什麼我沒有買過筆電? 原因在於我認為買筆電好浪費,以約一、兩年前的規格來說,要能達成我當時 "比較" 理想的功能與效能要求,絕對是超過 6 萬元以上。而當你買了以後,大概約 3 個月後就會 "後悔" 了,因為,又有更新、規格更強、更便宜的筆電出來了,這對於我當時是 "玩家兼敗家" 的狂熱份子而言,實在無法忍受。

當然,現在的心態改變了,買一台筆電,只要能在三年的期間發揮其 "經濟效用",那也就值得了。而以我現在每星期最少要到各單位擔任顧問最少三次來說,購買筆電,可說是必然與必要的需求了。

注意筆電的規格蠻久了,由於明年 Vista OS 的公布,確然筆電會大洗牌。獨立的顯示卡介面、2GB 以上的記憶體容量、Core 2 Duo 的 CPU 效能,均是必然的要求。且由於我實在不喜歡攜帶著笨重大體積的筆電,所以 12~13″ 的筆電對我是比較理想的了。當然,筆電的服務,可是非常之重要,我的印象很深刻,IBM 的服務,非常之好,一點都不囉唆,保固期間內,出了問題,馬上給你修好,換好備品,快遞送回給客戶。

可惜啊,IBM 的客戶層當然是鎖定在行動商務上的,不過以我的要求而言,很是希望也有家用娛樂的功能,有時候玩玩「魔獸爭霸3」、「上古卷軸四」等,那可真是愉快的~ 而 IBM 的筆電,對我上述所提的獨立顯卡,以現有機種,可就沒有去特別支援的了。

至於其它品牌,例如國內打得最為火熱的 A牌,規格相當畸形,有支援 Core2 Duo CPU、附加於筆電的高等級獨立顯卡、外型相當華麗美觀、價位也不太貴,但,記憶體規格竟然只能裝到 1.5 GB DRAM !! 嘿,這樣容量好像很大嗎? 跑跑明年的 Vista,以及上述所提及的開發平台,或者是虛擬的作業環境,就知道了,最少最少,跑 2GB 的 DRAM 才勉強夠(最好是具 4GB 的記憶體規格,才比較保險)。為什麼 A 牌是 1.5GB 的記憶體規格? 基本上就是成本考量囉,因為它有併購了一家 Flash 廠,所以在筆電出廠時就已內建了 512MB DRAM,只剩一條擴充槽,最多就只能再加裝 1GB 的記憶體了。當然這樣跑一般家用 WinXP 應用多媒體程式等,沒啥問題,但等到明年初的 Vista OS,就知道啦,現在買的 A牌筆電,可是會非常後悔的。

至於另一個 A牌,我應該是不會考慮的,一個品牌給人的信賴感,相當重要,可惜好幾年下來,該牌一直給我品質不佳、服務不佳等印象,或許現在應該有些改善了,但在諸多玩家的口碑們,好像還沒有確定到對該品牌的肯定。

我在想,明年的筆電應該會因應 Vista 而重新洗牌,尤其是家用娛樂與行動商務方面。兩個方向:

  1. 獨立的顯示卡,可以處理 Aero 3D 華麗絢爛的介面(既然 MS 以帶出大量 3D 的處理要求,同時也就代表了未來的趨勢)。
  2. 2GB 以上的記憶體(最好是 4GB 的擴充規格),可以處理大量運算時所暫存的空間,尤其,有越來越多所謂 VM(Virtual Machine) 的觀念與應用會帶入 OS 。

至於 CPU 效能,其實無論 CoreDuo or Core 2 Duo,均可以維持一定的運算水平,跑 Vista 的應用程式應沒有處理效能上的大問題的。

所以,國內標榜行動娛樂的平台,例如 A牌,第一點雖有做到,但,以現有大部分筆電的規格均只能擴充至 1.5 GB RAM,很是危險。因為,筆電不一定要求現在配備的週邊能否跑 Vista,而是其規格是否能擴充來因應 Vista 等重型 OS 的來臨。而這點,A牌沒能做到,相當可惜!

最少最少,2GB DRAM 的擴充規格,這絕對是最起碼的要求。甚而,能具備 4GB 的記憶體擴充規格,這才是行動娛樂與商務筆電的最重要根本。

看起來,我要買的筆電,今年應該是買不到了,因為都是 "Vista Ready",看起來風險高高。約等明年初 Vista 確定出來後,筆電實際跑 Vista 才真正能看出其端倪、考驗出其性能與規格的。應該是不得已只能等到春節過後吧,屆時無論如何,是一定要採購一台兼具可攜性、行動娛樂與商務的筆記型電腦了。

※ 關於筆電相關的資訊討論,我都是在國內首屈一指的敗家網站「Mobile01」參考與討論的。