|
|
|
| | | | | |
|
|
專欄 | | | | 軟體考古學
軟體考古是軟體工程的一門新興學問,目前的論述不多,似乎連流派都尚未形成。如果你需要進行軟體考古,不妨參考逆向工程的做法,也許可以讓你有所啟發。 考古學研究的對象是實物,主要是物質的遺存(也就是遺物與遺跡),而這些遺存是古代人類活動所遺留下來的。一件古文物的出土,考古學家就會用盡各種方式,試圖還原此文物的一切資訊(年代、文化、製工……)。 幾年前,軟體界也出現了軟體考古學(Software Archeology)一詞。不過,軟體考古學家不需要在黃土堆中一插一剷,不需要遍讀古籍一卷一冊,因為軟體考古學研究的對象是「源碼」。 有哪些狀況需要進行軟體考古?看看幾個經典的例子: ● 1990年代末期,大量COBOL系統需要被修改,以解決Y2K問題。 ● 既有的系統雖然好用,但是不符合Web時代的需求,需要把它改成Web版本。 ● 近幾年,許多老舊的Visual Basic程式需要更新到Java或.NET平臺上。 ● Web技術演進快速,許多系統縫縫補補,結合了微軟DNA、J2EE、.NET、PHP等架構,使得系統難以維護,甚至互相抵觸,必須盡快重新整理。 全文>> | |
專題報導 | | | | 路由器作業系統走向開放平臺
隨著思科、Juniper和3Com等廠商開始開放路由器的作業系統,路由器未來可以添加的應用將會更多元。 Juniper(瞻博網路)和思科(Cisco)日前相繼釋出了即將開放路由器作業系統的消息。Juniper更是推出了PSDP(Partner Solution Development Platform)計畫,讓有意使用該公司路由器硬體,開發自己專屬應用的合作廠商或是使用者,可以透過此一計畫取得路由器作業系統JUNOS的軟體開發套件(Software Development Kit,SDK),開發自己專屬的應用。除了這兩家廠商之外,無獨有偶的,3Com也在去年推出類似的OSN(Open Services Networking)方案,讓使用者和開發商可以透過其釋出的API,在Linux為基礎的架構下,於路由器上開發自有的專屬應用。隨著市場上幾家重要路由器廠商釋出作業系統的API,至此,未來路由器的作業系統走向開放的趨勢已然成形。 敞開路由器作業系統的大門,提供更多可能 由於過去網路設備的作業系統都是封閉的,如果使用者希望網路設備上能夠提供一些客製化或新的功能,唯一能做的只有等待,等廠商能夠恰巧推出符合需求的功能模組,幾乎不可能靈活的提供使用者變更。但是隨著越來越多開放路由器作業系統的計畫出現,路由器的功能已經不再是傳統的模組化或單一固定設備所能局限。現在企業或希望能利用路由器硬體與作業系統開發應用的廠商,可以透過此類計畫的合作使其可行。 開發門檻仍高,目前企業跨入不易 目前PSDP和OSN計畫在國外已經有企業採用,以PSDP計畫為例,有一家銀行就希望能夠透過PSDP計畫,改善現有的通訊協定溝通狀況。其主要目的是要讓Juniper的路由器有能力支援該銀行使用的專屬SDLC(Synchronous Data Link Control)通訊協定,由於該協定較少人使用,過去要想辦法透過軟體的轉譯,讓買來的網路設備有能力傳輸企業內的資料。但如果路由器能夠直接做到這樣的支援,將能大幅降低該銀行的維護成本,目前此家銀行透過協助它們開發此一專屬協定的系統整合商與PSDP計畫合作,正在JUNOS上進行此項開發。 全文>> | |
專欄 | | | | 砍掉重練真的比較好嗎?
覺得程式風格不佳,引發想要砍掉重練的念頭,是初期程式人時常會有的症狀。但砍掉重練等於過去的努力幾乎都付諸流水,不僅程式得重寫,還得重新測試與修正。 最近十分流行「砍掉重練」這個詞,我一開始接觸的時間點,約莫是在十幾年前還在玩MUD(Multi User Dimension)的年代。MUD大致和現在的線上遊戲差不多,只不過它是文字模式的線上角色扮演遊戲,所有的場景呈現、人物動作描述,甚至玩家控制人物行為的方法,都是透過文字傳達。 RPG遊戲,免不了有練功升級的過程,玩家必須進行一些角色能力方向的選擇。在過程中,如果做錯了一些決定,就會導致訓練出來的角色,升到最高等級,能力卻不如預期。所以,很多玩家就會忍痛「砍掉重練」。砍掉重練的想法,基本上是出自對現況的不滿,又想追求完美的想法。程式人也是特愛這想法的族群,尤其是那種上進、對自己有期許的程式人。 想要重練的6大原因 這麼多年的軟體開發生涯,我看過太多砍掉重練的例子,當然包括我自己。為什麼會決定把辛苦寫成的程式全數廢掉,重新再打造一個新的呢?據我的觀察,原因大致有下列數種:(一)撰碼風格不佳;(二)過多重複累贅的程式碼;(三)程式架構疊床架屋;(四)架構設計不夠通用;(五)所運用的技術跟不上潮流;(六)有太多隱藏在深處的臭蟲未爆彈。 砍掉重練未必是正確的心態 從開發生產力的角度來看,「砍掉重練」是不正確的態度。既有的程式碼有時看來是負擔,但其實這些程式碼都是花費程式人的心力撰寫、測試人員測試、再修正錯誤而得的。 全文>> | | |
| PChome ePaper 電子報版權所有,關於電子報發送有任何疑問,請聯絡 客服 台北市敦化南路二段105號11樓 ,TEL:(02)2708-8038,FAX:(02)27094848。 | |