首頁

2016年1月17日星期日

[Meetup 筆記] 如何繪畫別人看得懂的軟件架構圖?──Simon Brown 的C4 Model

作為軟件開發者,你試過看不懂別人的架構圖嗎?或是自己嘔心瀝血徹夜畫的架構圖,別人卻看不懂?

講題:The Art of Visualising Software Architecture
講者:Simon Brown (個人網站
主辦:Agile Hong Kong
時間:2016/01/15 晚上
場地:Odd-e 在上環的新辦公室


上星期五晚出席了一個關於軟件架構視覺化的講座。講者Simon Brown 多年從事系統架構的顧問和培訓工作,也會到世界各地演講,著作有Software Architecture for Developers 和The Art of Visualising Software Architecture 。其題為"The Conflict Between Agile and Architecture - Myth or Reality?" 的演講在Software Engineering Institute 主辦的SATURN Conference 2013中,獲參予者票選為"Architecture in Practice" Presentation Award 得主。

軟件開發者常要畫架構圖,但沒人看得懂……


講者Simon 首先提到敏捷開發有賴良好溝通,但在他工作和開辦工作坊的經驗中,發覺很多開發者無法有效地講解自己的構想,想傳達的資訊往往像卡在他們的腦袋裡。雖然開發者常畫圖來幫助講解,而軟件工程界也制訂了諸如UML 的建模語言和製圖規範,不過事實上大部分人都覺得UML太複雜所以很少用,尤其是高階的架構設計圖。

於是很多開發者以自己的方式畫了令人不明所以的系統架構圖。有些圖使用了意味不明的顏色和圖形(這個粉紅色的虛線想表示什麼?),有些則過多實作細節(User → UI → Calculation Engine → Data Reader → ……),有些將架構(Architecture)、運行(Execution)、部署(Deployment)等不同面向的內容混在同一幅圖裡(Import Service, cron, UNIX VM instance, …… )。結果這些「設計圖」徒令本來要說明的構想更難理解。

C4 Model - 地圖的類比


針對上述情況,Simon 認為"A common set of abstractions is more important than a common notation.",提倡C4 Model (Context, Container, Component, Class),將系統架構分成四個層級的抽象化。一個系統會有一個Context 以及各種使用者和其他外部系統,Context 由多個Container構成(例如web app, mobile client, database, etc.),每個Container 包括數個Component ,而Component 由class 組成。

2016年1月11日星期一

[電影] 《十年》觀後感


這是齣具明顯政治意圖的本地獨立電影。會去看一方面是因為它近來引起話題,一方面是受到所屬的意識形態的感召,就像耶教徒看福音電影一樣。

畢竟我們大部分人都欠缺想像力和表達能力,渴望有人代勞――頗典型的黃絲行為模式。

電影由五個單元劇組成,嘗試呈現十年後香港社會的想像,當中觸及港獨、洗腦、國安法、新移民、少數族裔、政治酬庸、政黑勾結、扼殺本土等等許多許多題材。意象雖既不新鮮也不大膽,多年來很多人都撰文或開咪討論過,但化為影象構成故事,恰如坐上時光機一下子跳躍到十年後幾個並行的時空,對缺乏想像力的人仍然比較有感染力。

有人或覺得情景略嫌荒誕或太戲劇性。我相信我們十年前看到近來書店店東被失蹤被報平安、雨傘運動、黑警橫行的話,也會抱相同感想。電影中的扭曲社會,不過是現實社會扭曲的延伸,《十年》不在未來而在當下。觀眾對情景的距離感,正反映自己對刻下扭曲的無視和毫無準備。他日身處電影世界,再沒有距離感恐怕是因為十年的習慣和麻木――若非甘之如飴的話。

數年來的習得無力感逐漸累積成焦慮。恰如單元劇《本地蛋》裡廖啟智說:「唔好慣呀!」。看,是要一再告誡自己:別去習慣。因為習慣原來不難,一河之隔就有十一億人和父祖輩習慣過來了。

我不懂評價以獨立製作來說這齣電影水準如何。不過以實現政治意途來說,它仍然跳不出一個普遍的框框。借用友人的講法:香港人現在並不欠缺警世預言,更需要的其實是行動的理想願景。

以下是各單元的簡單感想。(輕劇透)

單元一《浮瓜》
只求自己溫飽的邊緣小人物,為虎作倀,也終成虎口亡魂。情節最富戲劇性,雖然算不上出人意表。為什麽小混混是新移民?為什麽南亞裔會有印度可以返?

單元二《冬蟬》
瀰漫足以令觀眾界櫈離席的膠臭……

單元三《方言》
故事略嫌陳套無力,猶如故事主人翁。不過主人翁的無力感,也正是普遍港人感受。

單元四《自焚者》
呈現出現在和以後,抗爭理念路線的紛紜亂象。積極、條件反射、主動、被迫、激烈、和理非、犬儒、左膠,互相攻訐。人人很會抽水打嘴炮,行動沒幾個,我地繼續花幾十蚊睇場戲食花生肉緊一下。

單元五《本地蛋》
感受最深刻。本地人自然會在中青少三代幾個角色身上見到各種自己。那看似仍有一點點希望的結尾,其實相當絕望。

電影《十年》Facebook 專頁

《十年》電影官方預告片

2016年1月2日星期六

真係仲起?英國的廢棄鐵路與香港的超支高鐵

講到香港高鐵工程嚴重延誤超支,很多人的感覺係:「都掘左咁多啦,唔通唔起埋佢咩?」以為只要高鐵完工,撥款深潭就會見底,高鐵始終會成為帶來經濟和社會效益的基建,一直營運落去。

但放眼世界,因虧本而廢棄的鐵路比比皆是,英國1960年代大幅削減鐵路網的Beeching cuts 就是著名案例。

英國在十九世紀經歷鐵路狂熱的經濟泡沫,市場和政府對鐵路需求過份樂觀,大量熱錢流入過度投資擴建鐵路網。其後因國內道路網的完善,非常多的鐵路路線不敵來自道路運輸系統的競爭而連年虧本,最終被國營化變成政府的財政負擔。

為解決鐵路營運入不敷支,英國鐵路局遂於1963和1965年提出報告,建議大刀闊斧削減缺乏成本效益的鐵路服務,包括多達30%的路線和55%的車站。附圖展示「削鐵」前後的英國鐵路網。如今英國各地仍然能見到很多廢棄了的鐵路路段。



香港高鐵不但嚴重超支,亦被揭發效益不比已有鐵路高,回本無期之餘仲可能要蝕本營運。

──真係仲起埋佢?

「但停工的話掘左的地洞咪會嘥晒?」

其實地下空間唔一定造鐵路,工程師兼議員黎廣德就建議改建作公共社區和商業用途。


相關報導