【書摘】使用案例的 12 步寫作訣竅

摘錄自 「Writing Effective Use Cases」,中文譯名:「使用案例寫作實務」,譯者:趙光正

尤其是第一個步驟,是個人在規劃使用案例圖時,覺得最為重要的關鍵所在(從架構觀點的角度視之),但也是許多單位 SA 所經常忽略與不重視的。

  1. 找出系統邊界(情境圖、專案範圍內/外清單。
    Find the boundaries of the system(context diagram, in/out list).

  2. 用腦力激盪法列出主要參與者(參與者簡述表)。
    Brainstorm and list the primary actors(actor profile table).

  3. 用腦力激盪法窮舉系統中主要參與者的使用者目標(參與者—目標清單)。
    Brainstorm and list the primary actors’ goals against the system(actor-goal list).

  4. 找出最外層目標摘要等級的使用案例,裡面會涵蓋上述的所有東西。
    Write the outermost summary-level use cases covering all of the above.

  5. 重新討論並修正目標摘要等級的使用案例。新增、刪除或合併一些目標。
    Reconsider and revise the strategic use cases. Add, subtract, and merge goals.

  6. 選出一個使用案例,展開它或寫出其敘事情節,以熟悉使用案例的寫作材料。
    Pick a use case to expand or write a narrive to get acquainted with the material.

  7. 補上使用案例的關係人與其利益、事先條件與事後保證,並重複檢查它們。
    Fill in the stakeholders, interests, preconditions, and guarantees. Double-check them.

  8. 寫出主要成功情節;重新檢查關係人的利益與事後保證。
    Write the main success scenario; check it against the interests and the guarantees.

  9. 用腦力激盪法窮舉可能的失敗條件與替代路徑成功條件。
    Brainstorm and list possible failure conditions and alternate success conditions.

  10. 寫出每個擴充情節中參與者跟系統如何動作。
    Write how he actors and system should behave in each extension.

  11. 把需要自己獨力出來的東西分開變成子使用案例。
    Break out any sub use case that needs its own space.

  12. 從最高層的使用案例開始重新調整整組使用案例。有必要時新增、粹取或合併使用案例。請重新檢查使用案例的完整性、可讀性與失敗條件。
    Start from the top and readjust the use cases. Add, subtract, and merge as appropriate. Double-check for completeness, readability, and failure conditions.

【文摘】聖嚴法師的智慧語錄

※——————————-※

「用佛法感化自己,用行為感動別人。」

「船過水無痕,鳥飛不留影。」

「面對它、接受它、處理它、放下它。」

「我們人,常常是想要的太多,需要的並沒有那麼多。」

「不動心並不等於木頭、石頭,它的意思是不住心,就是不在一個念頭或任何現象上產生執著。」
- 摘自 [聖嚴說禪]

「不用牽掛過去,不必擔心未來,踏實於現在,就與過去和未來同在。」
- 摘自 [智慧100]

「沒有一定的真理就是真理。」

「為師父而學佛?為佛法而學佛?」
- 心理->精神層面的轉換

※——————————-※

【文摘】幾句可以令人發省的禪語錄

※——————————-※
見了法師於景美女中的「禪與教育」演講:
『執著經驗其實是對生命的一種束縛綑綁,唯有放下對生命的一些自以為是的價值判斷,適時修正才能有開闊的生命空間。』

※——————————-※
石頭希遷禪師對開悟前的五泄靈默禪師講:『從生至死,只是這個』
其實等於什麼也沒講。你想知道的那個,就是我所呼喚的那個,也就是你自己。你的心不能放下,到處追求,以生死心揣摩開悟不開悟,以生死心希望我回答你。我告訴你,你現在發問的這一念就是我給你的答覆。

※——————————-※
『慈悲是具有理智的感情,智慧是富有彈性的理智。』
- 摘自 [禪門]

※——————————-※
順治皇帝出家偈:
『來時糊塗去時迷,空在人間走這回,未曾生我誰是我?生我之時我是誰?
長大成人方是我,合眼朦朧又是誰,不如不來又不去,來時歡喜去時悲』

※——————————-※
『千江有水千江月,萬里無雲萬里天』

※——————————-※
『先放下,再提起』 - [惟覺老和尚]

※——————————-※
『只要一覺得悲傷,所有事情都是悲傷的 ; 只要覺得喜悅,所有的瞬間都會充滿了喜悅。』

書摘~ 交易的真理—五大聖牛終結者

先不論 Trader 是採用何種技術或基本分析的方法,但總是需要先瞭解交易的基本真理,如此才有可能抹除交易計畫上的錯誤想法,以一些真正有用的東西取代它們。

「混沌操作法II」一書中列出了五大聖牛終結者,以協助 Trader 清除所有的舊觀念。若你的交易結果,往往不能令人滿意,或許下列一般人會以為神聖不可侵犯的真理,應該提出反駁,然後跳出窠臼,通往獲利之路。所以,當務之急就是屠宰這五隻聖牛,將牠們由 Trader 的心靈與交易中抹除。

聖牛終結者 #1:不要聽信通俗的專家

道理很簡單,若分析師或評論家真正瞭解市場,那麼,他們可以透過實際的交易賺取更多獲利,沒有必要發表交易方面的評論。

聖牛終結者 #2:沒有所謂的多頭/空頭共識

市場的主要功能,就是尋求與界定某個適用於當時狀況的價格,使得買方需求與賣方供給之間的力量達到絕對平衡。

聖牛終結者 #3:沒有所謂的超買/超賣

如果沒有所謂的多頭或空頭共識,自然也不應該有所謂的超買或超賣情況。如果金融市場在設計上,會在瞬間內摧毀任何的超買或超賣情況,交易者如何能夠在螢幕上看到或談論呢?

聖牛終結者 #4:多數資金管理都無效

例如遵循所謂的「永遠利用 25% 追蹤性停止策略」,其實只是根據自己的帳戶金額進行交易,而根據自己的帳戶資本設定停損,經常發現市場未必與我們配合,這類保障措施或保守想法,主要是來自於恐懼;進入市場後,如果抱著恐懼的心態,就很難取得勝利。如果想要穩定獲利,唯一的指望就是與市場配合,根據市況調整自己的操作策略與心態。

聖牛終結者 #5:常見的操作策略通常無效

我們常聽到兩種說明:一、買低賣高。二、順勢交易。兩者顯然彼此矛盾。如果你買低賣高,等於是逆勢而為;如果你順勢交易,就不能買低或賣高。而事實上,在某些情況下,你有可能逆勢交易,而在另一些情況下,則應該與趨勢站在一起。究竟應該選擇那種策略,由市場決定。

軟體塑模(Modeling) 是一件非常單純的事

我有一位擔任 CTO 職務的朋友告訴我,他蠻苦惱於國內沒有人可以協助他如何學好塑模(Modeling)。聽了這句話,我有些訝異,第一個直覺的反應是,到底這位朋友對 “塑模” 的定義為何,再則,一聽到 “如何(How-to)”,就表示他想要的是學會塑模 “用” 的技巧,卻很難會對塑模的本質用心思索與體悟。

若有人問我,什麼是塑模? 答案很簡單,只要能表達我心中對於軟體設計的想法,包括圖形與程式碼,都可以是我塑模的工具。產出是什麼? 這好像是廢話,利用圖形就是設計圖,無論是草稿(Draft)式或藍圖(Blueprint)式的;程式碼當然就是可以被執行的應用程式。目的是什麼? 1. 表達設計者對設計的想法;2. 做為一種模型(Model),可以讓參與系統開發團隊的不同成員能有 “一致性” 的共識,包括對功能面(Function)與結構(Structure)面;3. 做為一種模型,可以協助未來系統具體化的成形,得以穩定、彈性來服務用戶。

所以回到我這位朋友問題的原點,如何才能學好軟體塑模(Modeling)? 知道你想表達的,勇於用圖或程式碼甚至直接用文字或嘴巴表達,然後可以 “自圓其說”,也就是要能清楚 “知道你想表達什麼”;逐漸地,也能觀察其他設計者的設計產出,思考對方為何是如此這樣的設計,他想表達什麼,是基於什麼樣的假設點的前提之下;更甚之,還能找出設計者原來有這樣的假設點,所以很有可能會衍生出設計的 “茫點”。

那麼,又如何能找到教導你學好軟體塑模的專家呢? 遠在天邊,近在眼前,要成為軟體設計專家,其實非常簡單,只要每天找一個問題,花上 30 分鐘,不斷問自己一個相同問題:「為什麼?為什麼?為什麼?」。要懂得與內心自己的對話,才會是最佳的導師啊。

因為,我那位朋友的問題實在有些過於愚蠢,原本我覺得他怎麼經常在做這些緣木求魚的事情,在原地空轉而不自知,但一時我卻無法給他一個簡單明確的答案,上述的答案,其實是我在「混沌(Chaos)操作法II」一書中看到的一則寓言,還可真貼切,所以現學現賣,答案就呼之欲出了。

關於這本書,可真是了不起,對我最大的震撼就是 “混沌” 二字,這兩個字可能可以同時協助我在軟體的複雜度與金融交易的本質性思考。未來我一定會介紹在「好書分享」上的,並且也會發表多篇對於 “混沌” 的學習心得、體悟與應用(包括軟體設計與金融交易),這是一門非常深奧的領域,蘊含了大自然的本質,卻又能利用包括科學與數學來做某種程度的量化,非常地有意思。

底下列出這則故事的概述:

印度有一位學生,他希望成為一位真正的智者,於是離家尋找一位足以開導他的大師。遍訪多年,他總算找到一位大師,並請求該位大師開導他成為智者。這位大師告訴他要成為智者其實非常簡單,只需要立即回家,每天晚上坐在鏡子前面 30 分鐘,不斷問自己一個相同問題,這個問題是:「我是誰?我是誰?我是誰?」

這位學生表示:不可能如此簡單吧?

「沒錯,就是這麼簡單」,這位大師說,如果你還需要參考其他意見,我再介紹另外的大師,你可以前往請教。

於是這位學生來到另一位大師的住處,提出相同的問題:「我如何才能成為智者?」

第二位大師說:「這很困難,而且要花上很長一段時間,你必須隨同道院內其他學員從事沙哇(sava),也就是『無私的工作』。換言之,你必須做一些沒有金錢報酬的工作。」

這位學生聽了很高興,這位大師的哲學,比較接近他對於自己如何成為智者的看法,他聽說成為智者之前,必須歷經艱難的過程。所以這位學生非常欣然接受,大師交付給他的雜役,並且認定自己總算踏上正確的道路了。

經過多年不斷地雜役,這位學生漸漸失去耐性,當然也很失望,總算沈不住氣,向大師請教:「尊貴的老師啊,我已經忠誠為您服務五年,每天清洗道院內最骯髒的地方,不曾休息一天,也不曾抱怨,現在是否是啟發我成為智者的時候了呢?」

大師回答:「當然,我相信你已經準備妥當了,現在,我告訴你怎麼做。你立即回家,每天晚上望著鏡子 30 分鐘,不斷問自己一個相同的問題,這個問題是::「我是誰?我是誰?我是誰?」

這位學生覺得很訝異:「對不起,尊貴的老師,但介紹我來向您請教的前一位大師在五年前就告訴我相同的方法了。」

「嗯,他得沒錯」,大師回答。

「混沌(Chaos)操作法II」作者說,當他在訓練交易者(Trader)的過程中,所面臨的第一個問題是,如何勸服他們相信一個觀念:實際上交易獲利是一件非常單純的事。請注意,「單純」不是「簡單」,「觀念單純」與「容易執行」是兩個全然不同的東西。

同樣地道理,軟體的塑模是一件非常單純的事

但是,人類往往有兩種天生的傾向:一、對於我們所碰觸的任何事物,通常會弄得過度複雜,基於這個原因,二、我們往往不能看到事物最明顯的一面。

【文摘】溝通密技—不用術語,溝通更簡單

星期一晚上我在「倚天資訊」授課,下課在廁所小號時,看到這份文摘,深有同感~ 也感謝該人資部門可愛的 connie 小姐轉寄多份文摘給我。

我最近授課時,常掛在嘴邊的就是:「俗又有力」 (要用台語唸),那個 “俗” 就是要 “簡單”,因為簡單,才能 “有力量”,也就是:「簡單就是力量」。恰恰與這篇文摘不謀而合。

所以,為了在 UML 課程中,介紹 UML 的三劍客:”使用案例圖”、”類別圖”、”循序圖”,我特別採用的案例,是以台灣本土化的「土地公廟」作為系統的分析與結構設計。甚至,不讓學員以為那只是 “紙上設計圖”,我還特別花了三個小時寫了 Java 程式碼(當然是可以執行),同時介紹如何從 Model 與 程式碼的正、反向同步,再乾脆一點,連 “土地公.java”、”廟公.java”,”取得明牌(樂透類型)” …等,均是採用 “本土化”,無論類別、操作與參數及資料型態的名稱,都是寫成中文,”俗又有力” !

每次聽到軟體技術人員,很喜歡賣弄專業術語,我從來不以為然,總覺得為什麼要把一件設計或實做的工作給講得那麼複雜? 有這麼困難嗎?

嗯,底下的文章,蠻能成為很好的參考依據,爾後,在與技術人員討論技術相關問題時,若聽不懂,不要難過,那是因為對方在講 “火星話”,不是你愚昧。 😉

全球知名企業應用軟體公司之一賽貝斯(Sybase)執行長程守宗(John Chen)曾說過,領導人最重要的能力之一,就是表達方式熱情、簡潔、清楚。

既然如此,如果你是一家生產「系統單晶片」(system-on-a-chip,SOC)的公司主管,你知道如何用最簡潔、清楚的方式,向客戶和投資人解釋你公司的業務嗎?

「我們是一家先進的智慧型半導體智慧財產解決方案的研發者,這些解決方案可以加速精密型SOC的發展,並同時降低危險。」有一位主管這麼說。你聽得懂這個外星人在說什麼嗎?
「以手機為例,我們的產品可以使手機變得更小,但是功能更強、電池效能更久。」這樣是不是好一點?

很多人會對他們無法很快理解的事情,感到懷疑。所以,要確保對方聽懂你的訊息,最簡單的做法,就是不要常常把專業術語掛在嘴邊。「當人們並不真正了解狀況,或對這件事並不熱衷時,他們就開始濫用專業術語,」路透社總經理溫尼格(Devin Wenig)說。

所以,如果你的老闆是像前奇異總裁威爾許(Jack Welch)那樣,討厭冗長而沒有重點的報告、會議和簡報,濫用專業術語,也可能會毀了你的升遷之路。

威爾許在他的書中提到,有次,他正在和保險部門主管開會,他問這位主管:「『臨時保險』和『合約再保險』有什麼不一樣?」這位主管花了好幾分鐘,始終無法讓威爾許了解兩者的差異,最後,這個主管終於爆發了:「如果我花25年才學會這個東西,你又怎能期待我在5分鐘內把你教會?」
不用說,這位主管不久後就離職了。

威爾許要的就是「簡單」,他的繼任者依梅特(Jeffery Immelt)也是如此要求部屬。如果簡單清楚的溝通,對奇異的CEO們而言是如此重要,你或許也該開始學著這麼做!

(取材自《Business Week》,整理.撰文/陳芳毓)

軟體思維顧問

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

Personal