2007年1月25日 星期四

文件格式的省思


什麼樣的文件格式才是好的?

是可以清楚的表達自己的思路與流程架構的格式?

還是可以符合大家所習慣的文件切割格式,如區分程架構圖與流程圖?

這是一場 隨性 V.S. 制式 的對決!



本來我認為只要可以表達出自己的思路與流程架構,則閱讀者就可以跟隨著我的思路在圖形中看到流程,也在流程中看到架構...但這似乎是行不通的!

因為要在一個圖形中同時表現出 流程(時序) 與 架構 似乎是不可能的事,更遑論閱讀者跟隨自己的思路...好吧...一切都是幻想,你嚇不倒我的!

最後隨性的文件格式中往往隱含了一個最大的條件,就是大量的口述說明!

因為隨著思路而行的文件往往都會省略一些作者認為「不重要」的部份,但這些部份卻時常是串起一幕幕場景的重要連接點,少了這些「不重要」的部份就像相聲演出少了【逗梗】只剩【捧梗】那樣的不知所云。



然而制式化的文件又因為少了交叉的表現方式而時常出現數份文件之間無法連貫的狀況。

例 如【軟體架構圖】中出現了一個區塊需要用到 Thread 與 Semaphore,但卻看不出來有什麼理由一定要用這麼複雜的技術,直到看到了硬體架構圖而且經過系統分析師的講解後才發現:「原來是因為輸出端只有一 個而且速度很慢,但多個輸入端卻需要即時收取資料,不能等待,於是就有許多 Thread 必須爭奪輸出端的使用權」。

然而這件事在大部分情況下都不會被正式的標注在文件上,因為軟硬體架構中都只標示【架構】,而流程圖只標示【流程】...而這個部份的解釋卻不屬於任何的制式化文件內容!

到底文件是為了看起來符合格式而寫,還是為了要清楚表達自己的意思而寫?



在我試著依照制式化格式做了一份文件後,我發現制式化文件還是有其優點的。

例如有一種流程圖可以利用縱軸的多列來表示多個 Process/Thread 而橫軸表示時間序。這樣的格式讓我終於嘹解到要如何表示出多個平行處理 Thread 之間的交互行為!在畫這種圖的時候也讓我更深刻的透析自己設計的流程是否有問題,進而提昇設計的品質。

目前我最想要做到的依然是:「如何在最少的圖形/文字中表現出最清楚的流程、架構與設計思路?」,請問有沒有人可以給我答案或提示呢?