序
系統分析是國內資管與資工科系在大學時,必修的課程,其目的是希望學生在修完課業後,能自行針對不同的系統需要,執行必要的分析與設計,並利用建立模型,跟客戶與接下來的程式師做進一步的分析確認。然後使用常見的架構來實作模型,以提高實作時成功的機會,同時在實作的過程中,因為有多位程式師的參與,所以如何使大家寫程式的方式能有一致性,以利往後的程式維護。最後當然要將程式好好的測試一番,如此才能有成功上線的可能。成功上線是一個軟體在一開始開發時的唯一目標,可是卻是在系統分析的課程中最被忽略的目標。
以上所描述的是真實在軟體業界的人,每天都在面對與奮戰的實務情境,但是將這樣一連串的實務內容實際放到國內的系統分析或甚至軟體工程的教科書來看,我們幾乎很難看到有任何一本教科書能運用足夠複雜度的範例,來探討這樣一連串的實務發展。這實在是台灣軟體教育的一個大遺憾。
本人自1998年UCLA資工所博士畢業後,在美國的軟體業從事實務發展工作約七年,然後2004年回到台灣的中央大學資管系任教,到今天已經八年多了。本人執教的科目主要是研究所的軟體工程,中央資管研究所的學生很多都已經是國內大學所訓練出來的菁英了,可是在上軟體工程時,還是常常覺得同學們在大學時系統分析的基本功頗為不足。
曹永忠博士曾經是本人的博士生,他在台灣的軟體業服務多年,具有充足的軟體實務成功經驗,當他在博士班修習本人的軟體工程課程時,即嶄露其充足的軟體實務經驗,同時在討論中,我們也都感覺到台灣國內軟體教育在系統分析實務上的不足。
當時我們的結論是至少要先有一個運用足夠複雜度的範例,來探討軟體發展中,由系統需求到測試這一連串的實務發展。這個範例要能夠展現在這序列的發展中所會遇到的許多棘手的問題,並使用範例來說明解決這些棘手問題的原則。
各位讀者現在所看到的這本書就是曹永忠博士與本人在這個實務方向的努力成果,我們希望這個拋磚引玉的書本能夠給讀者許多啟發,並能夠使讀者對發展軟體系統的實務更快上手,不要大學或研究所讀完了,居然連一個頗具複雜度的軟體案例都沒做過。
各位讀者,如果你是自詡為資管或資訊專業的人,而連一個頗具複雜度的軟體案例都沒做過,那我會推薦您好好地讀完本書的這些例子,把書中的模型圖自己好好畫一畫,體會一下,這樣至少您可以跟別人講,您有做過一個夠複雜的軟體專案了。而如果您是奮力了許久,跌跌撞撞才學會軟體分析與發展實務的,也請您花些時間,看看這本書的案例分析,看看是否您如果早點看到這本書,就可以省下許多寶貴的青春了,如果是,還請您多多推薦本書給需要的人。
許志誠 於中壢雙連坡中央大學