2008-01-16

軟體考古學

本報內容由 iThome online 提供 每週二∼六出刊.2008.01.17
iThome產品技術報 下載PChome免費撥接
軟體考古學 買屬於你的個人品牌網址


本期目錄
    軟體考古學
    路由器作業系統走向開放平臺
    砍掉重練真的比較好嗎?
  你個人就是最獨特的品牌!申請自己的專屬網址!
  ADSL免費試用30天免綁約,以及第一個月連線費不要錢
  【新一代互動電子白板,開創企業會議新革命】
 
電子報最新消息
以小錢變成大富翁!
 你知道選擇權和股票、期貨有什麼不同嗎?
治療系飲食妙方50招
 天氣忽冷忽熱,強健體質就從飲食開始!
擔心被裁員嗎?
 不如自己創業當老闆來的踏實!

專欄    
軟體考古學

軟體考古是軟體工程的一門新興學問,目前的論述不多,似乎連流派都尚未形成。如果你需要進行軟體考古,不妨參考逆向工程的做法,也許可以讓你有所啟發。

考古學研究的對象是實物,主要是物質的遺存(也就是遺物與遺跡),而這些遺存是古代人類活動所遺留下來的。一件古文物的出土,考古學家就會用盡各種方式,試圖還原此文物的一切資訊(年代、文化、製工……)。

幾年前,軟體界也出現了軟體考古學(Software Archeology)一詞。不過,軟體考古學家不需要在黃土堆中一插一剷,不需要遍讀古籍一卷一冊,因為軟體考古學研究的對象是「源碼」。

有哪些狀況需要進行軟體考古?看看幾個經典的例子:

● 1990年代末期,大量COBOL系統需要被修改,以解決Y2K問題。

● 既有的系統雖然好用,但是不符合Web時代的需求,需要把它改成Web版本。

● 近幾年,許多老舊的Visual Basic程式需要更新到Java或.NET平臺上。

● Web技術演進快速,許多系統縫縫補補,結合了微軟DNA、J2EE、.NET、PHP等架構,使得系統難以維護,甚至互相抵觸,必須盡快重新整理。

全文>>
TOP

專題報導    
路由器作業系統走向開放平臺

隨著思科、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上進行此項開發。

全文>>
TOP


專欄    
砍掉重練真的比較好嗎?

覺得程式風格不佳,引發想要砍掉重練的念頭,是初期程式人時常會有的症狀。但砍掉重練等於過去的努力幾乎都付諸流水,不僅程式得重寫,還得重新測試與修正。

最近十分流行「砍掉重練」這個詞,我一開始接觸的時間點,約莫是在十幾年前還在玩MUD(Multi User Dimension)的年代。MUD大致和現在的線上遊戲差不多,只不過它是文字模式的線上角色扮演遊戲,所有的場景呈現、人物動作描述,甚至玩家控制人物行為的方法,都是透過文字傳達。

RPG遊戲,免不了有練功升級的過程,玩家必須進行一些角色能力方向的選擇。在過程中,如果做錯了一些決定,就會導致訓練出來的角色,升到最高等級,能力卻不如預期。所以,很多玩家就會忍痛「砍掉重練」。砍掉重練的想法,基本上是出自對現況的不滿,又想追求完美的想法。程式人也是特愛這想法的族群,尤其是那種上進、對自己有期許的程式人。

想要重練的6大原因
這麼多年的軟體開發生涯,我看過太多砍掉重練的例子,當然包括我自己。為什麼會決定把辛苦寫成的程式全數廢掉,重新再打造一個新的呢?據我的觀察,原因大致有下列數種:(一)撰碼風格不佳;(二)過多重複累贅的程式碼;(三)程式架構疊床架屋;(四)架構設計不夠通用;(五)所運用的技術跟不上潮流;(六)有太多隱藏在深處的臭蟲未爆彈。

砍掉重練未必是正確的心態
從開發生產力的角度來看,「砍掉重練」是不正確的態度。既有的程式碼有時看來是負擔,但其實這些程式碼都是花費程式人的心力撰寫、測試人員測試、再修正錯誤而得的。

全文>>
TOP

前期文章 全部歷史文章
出刊日期 出刊主題
2008-01-16 HP推出首款C系列電信刀鋒
2008-01-15 IT脫胎換骨
2008-01-12 網路系統工程師必備3張核心IT證照
2008-01-11 IT自救術-x86處理器的結構
2008-01-10 建立自用程式庫,節省重複實作成本

我要訂閱這份報紙» 我要取消這份報紙» 訂報說明
.本電子報內容由 iThome online 提供
.關於內容有任何疑問,或欲轉載請聯絡
PChome ePaper 電子報版權所有,關於電子報發送有任何疑問,請聯絡 客服
台北市敦化南路二段105號11樓 ,TEL:(02)2708-8038,FAX:(02)27094848。
廣告刊登授權服務隱私權聲明消費者保護兒童網路安全關於PChome徵人
網路家庭版權所有 Copyright PChome Online 版權所有,轉載必究

沒有留言: