軟體開發與資訊科學研究的差異 - 研究創造知識,開發製造產品
在開發的過程中,工程團隊蒐集與判斷各種已知方法論的優缺點,進行軟體的設計與程式的撰寫。
過程中可能一時找不到答案,開始蒐集資料與思索可能的答案,這個間歇性的階段非常接近研究。
一旦發現這個問題已經被前人研究過,整個過程又會轉換回開發模式。這些間歇性的階段研究通常不會太久,否則專案開發的進度可能相當不妙。
整個開發過程創造了許多新的事物,面臨許多實務上的困難,必須學習很多新事物與解決許多難題。
但是 開發 跟 研究 是 同一回事嗎?
以定義來說,
科學研究是對於某一特定的主題,透過系統性的 蒐集資料、歸納推論,尋找解答 的過程。
軟體開發是對於已知解答的問題,透過系統性的 蒐集資料、分析設計,建構軟體 的過程。
軟體開發與科學研究的不同,在於
開發 是 重複之前研究中的已知方法,以工程管理的方式 有效率與高品質地 建構軟體。
研究 是 尋找之前研究所不知的方法,以嚴謹驗證的方式 創新性與客觀性地 建構新的方法論。
軟體開發與科學研究的關係,在於軟體開發只要引用之前某方法研究的驗證結果,就能直接使用該方法論。
舉例來說,畢氏定理的使用 與 畢氏定理的發現與證明是兩回事。前者是開發的範圍,後者是研究的範疇。
所有的開發都要依循已知的方法為基礎,所有的設計都要能夠依賴之前的研究快速簡單地驗證其功能性。
就像計算直角三角形的邊長直接使用畢氏定理一樣,畢氏定理事先已經被證明是可靠的。
這樣軟體開發是不是一件人人都辦得到的工作嗎? 當然不是。
就算我們有畢氏定理,很多幾何的計算還是需要很多推理的過程,這個推理的過程需要知識、經驗與智力。
做過研究的人,曾經深入閱讀大量的文獻,長期培養洞察問題的能力,懂得組織資訊的方法,所以比較容易找到答案。
所以開發的工作雖然有規則可循,但並不是每個人都可以做得一樣好。
在開發的過程中,可能有一些新的發現,一些新的想法。
但軟體開發訴求高效率執行計劃,資訊科學研究訴求嚴謹的驗證,在時間的管理上是相衝突的。
將某個方法論,運用於某個應用,有時候很難想到,但它仍然比較偏向設計與開發。
開發性質的知識運用,只在應用表象的不同,在方法論本身是不變的。以知識創造的角度來觀察,價值相對也較低。
從事研究工作,辨識問題的本質是一項重要能力,否則就會浪費很多時間在自認為是研究,但實際是開發的工作上。
研究的社群也容易不認同這樣的工作是一項創造知識的貢獻。
科學研究主創造驗證新的方法論,軟體開發組合知識成為新的解決方案。
文獻撰寫是人類累積智慧的方式,軟體開發把累積的智慧轉化成可以實際利用的工具。
兩者運用知識的方法有相當多的地方類似,但最終的產出是不同的。
研究的目的是創造知識,開發的目的是製造產品。
然而,研究與開發可以並存嗎?
研究一個未知解法的問題所需花費的時間與資源 與 工程高效率 的前提相違背。
研究與開發並行不是不可行,但是要冒工程拖延、前功盡棄的風險。
這個問題可以類比為: 如果 Compiler 不確定是好的,您會用它寫程式嗎?
先找對 Compiler,寫的程式才有意義。
先把研究做完,或找到對的研究成果,開發才有意義。
開發軟體造福大家很有意義,但是好的軟體是一時的,好的研究才會真正改變這個世界。
想寫出好軟體,又沒耐心研究,不如換個適合開發的題目,才不會浪費時間。
總結來說,研究不等同於開發,只是部份的過程相似,但目標與做法是非常不同的。
研究生須知
查期刊是不是SCI http://newgenerationresearcher.blogspot.com/2009/04/scissci-journal.html
研究生學習態度 http://wmi.ee.nsysu.edu.tw/enter/index.php/研究生學習態度 http://www.eecs.harvard.edu/~htk/thesis.htm http://www.csie.nctu.edu.tw/~sltsao/formasterstudents.htm
相關工具
Zotero: 丟入PDF,自動擷取書目 http://newgenerationresearcher.blogspot.com/2009/05/zotero-pdf.html
Mendeley 文獻管理 http://www.mendeley.com/blog/ 下載 http://www.mendeley.com/download-mendeley-desktop 說明 http://www.mobile01.com/topicdetail.php?f=177&t=1131236&last=13350137
Endnote 文獻管理 http://www.endnote.com/ 教學 http://elearning.lib.ntu.edu.tw/endnote/index.htm
Papers 文獻管理 http://mekentosj.com/papers/
移除 PDF 的空白 http://www.noliturbare.com/index.php
網路管理書目 http://www.citeulike.org/ 教學 http://www.xxc.idv.tw/blog/xxc/webtryit/academic_social_1.html
GNUPLOT 製作圖表 http://phi.sinica.edu.tw/aspac/reports/94/94002/
資工選課 http://www.2cdclasses.com/forum/archiver/?tid-792.html
科學人雜誌線上版 http://dbnet.ncl.edu.tw/saweb/defaultx.asp
科學月刊全文資料庫 http://203.68.20.65/science/
交大研究生日誌 http://www.wretch.cc/blog/glCheng
離散數學概要 http://www.cyut.edu.tw/~ckhung/b/dm/misc.php
台大資工資格考參考資料 http://www.csie.ntu.edu.tw/~d96002/preliminary_exam/preliminary_exam.html http://homepage.ntu.edu.tw/~d94922010/solutions.htm
PDF 轉文字檔 http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/04/30/pdf-tool-tips.aspx
演算法 http://www.cs.nctu.edu.tw/~tsaich/2009Algo/
康熙大帝 小說 http://www.shuku.net/novels/history/kangxi/kangxi.html
Medic
當我們老在一起 http://www.peopo.org/innews/post/45627 http://www.peopo.org/innews/post/46763
IBM Medic http://www.youtube.com/watch?v=G5Zk-sJAOxk&feature=player_embedded http://www.youtube.com/watch?v=OeaksbGMp8Y
Electronic Health Record doesn't work? http://www.youtube.com/watch?v=E1oAY-hqSDE http://www.youtube.com/watch?v=OXEJIl-z62Q
Denmark EHR https://www.sundhed.dk/