1999/12/26

物件導向與資料庫應用
分類:系統





軟體開發工具不斷地創新下,這幾年的開發工具可以說是一日千里,稍不注意,你會發現很難與別人溝通,在剛剛踏入程式設計的領域的時候,我們往往會在意要學會C/C++或是要學會MS Windows 的程式設計,這一些技能在我的觀點來看,只不過是工具,要達成一個龐大的軟體系統,這些技能當然是不能或缺,但是,最重要的是要善用物件導向與資料庫的概念,將這些概念融入系統,或許因為大家開發的工具不同,不能利用物件導向的語言來開發,只要能融入這些概念,未來的發展性是無可限量的。

資料庫系統的工具程式語言,我們通常稱為『第四代語言4GL』,著名的4GL作業系統廠商有 Sybase, Orace, Microsoft......, 目前最新查詢語言的規格為 SQL-92, 對於資料庫系統中有關table, view, store procedures,交易異動及權限的管理是資料庫最重要的幾個特色,我們往往認為資料庫只是一個儲存資料的系統,其實經過統計後的資料才是重要的資產,如果是一家企業,透過對資料庫系統的設計,我們可以很容易得到即時的企業統計資料,如果是客服系統,我們可以很快的統計出客戶所要的服務,而不用透過不準確的市場調查或問券統計。

物件導向,我們很容易就想到所謂的JAVA語言,其實程式語言只是實踐物件化的工具而已,現在的VB, Delphi及JAVA 語言有融入也都有物件導向的語法,甚至上述的資料庫系統也都有所謂的物件化關聯式資料庫概念,有使用者自行設定的資料型態,有自定的函數與完整的物件關聯式型態擴充等等。現在的物件導向從早期的原始檔物件概念,一直到可執行檔的元件化(VCL, OCX,COM+) ,到現在的網際網路元件化概念(HTML,XML),未來的連結性將趨向更開放的規格與通訊協定,簡單的例子,我們經常發現一個網站有JAVA applet程式開發的跑馬燈,這個跑馬燈的元件可能是A軟體公司開發給B網站公司,然後B將這些應用元件放在網站上應用顯示自己的資料,同樣的例子還有很多,有些是Server Side 的元件,有些則是Client Side 的元件。

了解資料庫與物件導向的概念後,我們設計一套軟體系統時要注意的就是應用的效率了,是伺服器的負擔比較重,還是客戶端系統的負擔比較重,通訊協定是否符合應用的環境,傳輸時間是否過久,客戶數目過多的時候伺服器是否會承受不住,客戶端的資料要如何取得,客戶端與伺服器的環境是否能配合......這些檢查點其實很容易評估,只要我們把附圖的各個連結點畫出來即可。

物件導向與資料庫理論應用已經是發展好一陣子的概念,要開發創新的軟體系統如果遵照這些理論規則來開發,系統的相容度很高,也很容易移植到不同的『平台』。

1999/12/19

開放性軟體在『平台』中演進的角色
分類:系統





從個人電腦的演進歷史上來看,從大型主機UNIX在商業的應用,作業系統在其中雖然扮演極大的角色,但難免的他的價值是隨著主機一起販售的,因此的他開放性程度很小,APPLE個人電腦在西元八十年代席捲的個人電腦的市場,但是終究抵不過IBM以相容性的PC 硬體平台架構。

同樣的例子,微軟將作業系統視為一個開放性平台的架構下,在1995年推出Windows 95 後,這四年內,也置換掉我們對於產業價值判斷的標準,從硬體的生產應用中獲利轉為從軟體創造創新中獲利,通常我們買電腦週邊用品都會附贈一些應用軟體,例如買數據機送上網的撥接點數,但是現在有愈來愈多的遊戲光碟軟體,是購買軟體送玩具,當這個價值供應鏈變更成為,買軟體送數據機的時候,整個軟體價值就不一樣了。

大型主機『平台』的時代,是應用在電腦的大量快速的計算能力,而PC個人電腦『平台』的時代,只是將這些大量快速的計算能力普及化與個人化而已,到了作業系統『平台』的時代,我們才真正的把作業流程全面的電腦化,以往開發的軟體系統往往是特殊用途的商業應用,在作業系統與網際網路的雙重應用效果下,軟體系統才真正的被大眾真正的應用。

因此,現在大家在討論下一波的趨勢到底是什麼平台,我個人認為是網路服務的平台,這個平台是沒有實體的商品,現在炒的正熱的開放性原始碼(OSS)作業系統Linux,與Cisco的路由器OS,也只是掌握部分的關鍵,試問世界上真的有那麼多人懂得程式設計與網際網路應用嗎?

在這個網路服務平台之下,所有的價值在創造一個服務型態,以往傳統的價值鏈會在加值性的服務重大的變革,有人說知識專利權是一個非常重要的未來,但是這些專利的認定與規範,如果不能在政府行政單位下有效的管理,我想不斷地提昇自己的服務內容與策略合作,將自己與競爭者拉大距離,將是這一波網路服務平台的生存之道。

1999/12/12

軟體的整合性價值
分類:創新





我們觀察一些畫家或是藝術家的畫作, 如果你看看畢卡索早期的單幅作品,你可能會覺得其實我們只要勤加練習,也可以畫出同樣品質的作品,但是畢卡索的成功是在於他不斷地創新的畫風,從社會寫實主義派、野獸派、印象派到立體派,無不表現出他驚人的創作思路,也提高了他個人作品的價值。

畢卡索參考網址:http://www.paris.org/Musees/Picasso

因此,一項產品、一項服務或是一家企業如果沒有不斷地創新他的產品服務範圍,他的價值就會慢慢地減少,競爭力也漸漸地比競爭者要弱,以3M為例,研發與生產的投入比例上面是30/70 的分配方式,不斷地創新開發是他們的核心價值與競爭力的所在。

我們舉唱片業為例子,我們去買CD唱片,計算一下這些流通物品的成本好像只有售價的十分之一甚至到二十分之一,但是這些唱片的價值在哪裡呢?在歌手的聲音與作曲作詞的創作嗎?我們在產品的價值比較上面往往會拿具有實體的東西來做比較,而在網際網路上面,我們用什麼來衡量作品的價值呢?當這些創作變成資料流在網路上流來流去時,智慧的結晶如何評斷價值呢?

以往,所有的產品服務都會搭售在具有實體物品的東西上面,例如:書籍、唱片、上課的講義、軟體光碟片、交易、電影、觀光等等,當這些知識的資料很容易在網路上複製、流通與查詢的時候,我們應該很容易的去判斷這些服務的價值吧!

網際網路正以級數成長的方式在統一傳輸的規格(TCP/IP...),也在統一顯示的介面( HTML...),軟體系統要達成服務的功能時,是絕對不能抵擋這些潮流的,而要把一項產品價值附加在實體物品的機會也愈來愈少了,在軟體系統上面創新去落實產品服務的本身價值,將是所以人人應該做的投資吧!

所以網路上許多單一的產品需加以適當的包裝變成有特色的商品,形成「整合性商品服務」才能真正成為創造價值者。

1999/12/05

創新力與執行力必須以專業為基礎
分類:創新





這幾天看一齣韓國的連續劇,內容是描寫一個非常喜歡做皮鞋設計的女主角,因為不是科班出身,設計出來的圖樣基礎非常不好,但是社長看到他的設計創意十足,因此請他進來在打樣室做粗重的工作,從基礎做起--《蕃茄》。

姑且不論這齣戲有多八股或是劇情的發展有多惡毒,我們往往只看到成功的人光鮮亮麗的一面,看不到他被後打拼階段的基礎,這一點在所有事情都是網路的時代更是明顯,我們往往會想到很多很多的創意,但是等到後續要執行的階段,不是發現資源不足就是策略方法錯誤。

在軟體設計的領域裡面,我們往往會聽到業務單位說,為什麼軟體設計單位花了這麼多時間開發我們不需要的功能呢?這除了是溝通不良之外,往往是兩個單位的人彼此的專業性不夠,軟體設計單位要充分的了解市場競爭者的現況,綜合客戶的需求等等,我們並不是一昧的聽單一客戶的訊息來修改,而是要走在客戶的前端,產品市場的前端,服務需求的前端。

在一個工作領域要培養專業能力並不是非常容易的,第一個是部門單位的專業分工,使得一個人經常只能在自己的工作領域上努力,而且犯了當局者迷的錯誤,除了自己在工作上要找出自己的專業能力外,我們也要了解別的單位的專業能力,更要了解公司整體的專業能力,如果在軟體設計的領域裡面,雖然現在的開發工具非常的容易使用,但是舉凡作業系統、資料結構、物件導向概念、主從架構(Client/Server)等等,就是最基礎最基礎的專業,無論是經驗法則苦練出身的軟體研發工程師,或是本科系出身的工程師,我想基礎打好是最重要的,十倍速的網路時代,其實是可以邊做邊學的。

前幾天跟同事討論,軟體操作功能表的演進,從Windows 3.1 時代的標準功能表(檔案、編輯、檢視...) 到工具列(Tool bar)的發展,到現在瀏覽器上面大大小小的組合下拉式選單(ComboBox),或彈出式(Popup)選單我們是否已經被微軟牽著鼻子走呢?如果我們能創新出更好的操作介面,是否更要考慮到讓客戶更好用呢?