最近更新: 2012-10-11

Innovate 2012 IBM 開發者大會記事

每年慣例的 IBM 開發者大會記事,今年台灣場是 8月28日。 活動當天,我有推一些照片。今天想到該整理到部落格上了。

活動主頁見此「Innovate 2012 IBM開發者大會」(當天的活動簡報已經提供下載了)。今年的活動主題是「Next, NOW!」。今年的主角不意外,「Next」就是指「雲端+行動」。

IBM開發者大會 Innovate 2012 台灣場開幕

行動開發學

議程2,行動開發學

行動開發學的主角,是 IBM 年初推出的 Worklight 開發環境。它強調:

  1. 軟體開發可以使用原生技術或 Web 技術,如 HTML5, CSS3, JavaScript。它也搭配 PhoneGap 一起使用。
  2. 軟體有多樣化的型式交付給客戶。
  3. 適用多種出名的 HTML5 軟體庫與工具,如 jQuery, dojo, Sencha (即Ext JS)。

行動裝置軟體未必比 PC 軟體難寫。但測試工作卻比 PC 軟體的測試工作複雜。其中一道關卡就是要作散佈工作。 我真的覺得在除錯時,修改程式碼的時間並不多,大部份時間都花在散佈動作上了,

行動裝置軟體測試問題

行動開發學,影嚮專案進度的 2 個 gap,介於 design 與 development ,以及 development 與 deploy 。

影嚮專案進度的2個gap

我在去年的開發者大會中,就看過 IBM 展示當時的行動軟體開發環境。那時就相當成熟。今年正式定名為 Worklight ,整合程度也更高了。 Worklight 訴求之一就是減輕上述行動開發工作的 gap 。

當各家行動設備廠商想要用作業平台綁架使用者時,如果開發者也跟著起舞,那可就有作不完的工作了。在雲端時代,不論是企業用戶或開發者,在使用者需求沒有差異的情況下,沒有幾個傻子願意為作業平台的差異而重複投資。當然我們可以選邊站,但這樣的風險太高。我寧願把我的好運拿去買彩券,也不會浪費在選擇行動作業平台之上。我相信大多數的軟體開發者也不是賭性堅強的賭徒。所以我覺得 PhoneGap 或 IBM Worklight 的訴求很高明。提供一套抽象層次高一層的軟體庫與工具,讓軟體開發者可以設計一次就產出適用各種平台的行動設備軟體。

資產管理進化論

這裡談的是 ALM (生命週期管理)。

資產管理進化論

軟體開發資產管理的社會性行為,社交網路的應用。

社交網路的應用

這個議程有趣之處,在於強調社交網路在資產管理上的作用。 這裡談的社交網路不是指線上聊天、即時訊息,而是指「推」或「讚」這種行為。

議程中舉的例子,類似一般軟體分享網站與評價功能。假設甲員工寫了訂單登錄軟體,他可以上傳到公司的軟體中心(資產管理中心)。當乙員工的案子需要使用訂單登錄功能時,他會先到公司的軟體中心尋找。然後乙員工用了甲員工寫的軟體,而且也覺得好用的話,就可以在軟體中心的項目上,按個推或讚。 隨著使用者的評價累積,公司內所有開發團隊都可以從推數與評價上選擇自己需要的軟體。而甲員工的表現也能從中得到正面的評價。

遊戲橘子分享 Scrum 導入經驗

遊戲橘子分享 Scrum 導入經驗

關於故事(User Story)的寫法:「角色-動作-結果」。我補充一點經驗:「寫程式要抽象,但寫故事要具體」。例如角色一定要明確寫出是誰,甚至直接寫名字,就是不要只用 actor 這種符號。

Rational ALM

軟體開發生命週期的平滑轉換。有些內容在上午的行動開發學中就提到了。

軟體開發生命週期的平滑轉換 ALM五個重要的優點

ALM五個重要的優點

  • 在上下文協同(In Context)合作以最大化地提高產品價值。
  • 提供既時規劃(Real Time Planning)以加速交付時間。
  • 加強生命週期追踪(Lifecycle Traceability)以提高軟體品質。
  • 開發智能化(Development Intelligence)以實現可預見性。
  • 持續改進(Continuous Improvement)以降低成本。

軟體開發協同合作面臨的挑戰

軟體開發協同合作面臨的挑戰

測試環境虛擬化

建立虛擬化的資料來源。

測試環境虛擬化

從內容來說,我個人覺得說「模擬資料來源」更貼近一般的認知。

這裡的主角名字叫「綠帽」。 Green Hat , The future of testing 。

Green Hat - The future of testing

在測試驅動開發(TDD)的過程中,有一種經常被提到的事物叫做「mock」。 mock 就是一個以假亂真的假貨,用來代替在測試單元中不能使用的真貨。 mock 不會完整實作真貨所具備的判斷邏輯與流程。 它唯一要做的事就是針對特定已知的輸入,做出固定的反應,提供固定的資料輸出。

Green Hat 就是一個 mock 產生工具,而且它產生的不只是一個程式單元中的 object ,而是一整個服務環境。Green Hat 可以擷取來源行為特徵,產生假來源(mock)。讓開發者測試軟體功能時,不需要連接到真實的資料來源就能進行完整的測試。

Green Hat 提供多種現有協定的假來源模組。有針對資料庫 MS SQL, DB2, Oracle 的模擬模組,也有針對 REST, HTTP 通訊的模擬模組。

舉個例子來說,我們公司若接下一個 POS 專案,且客戶使用的後端資料庫系統是 Oracle 。 而我們公司卻根本沒用 Oracle ,那在專案進行過程中要如何進行軟體測試?

直接連到客戶的後端資料庫?那一定是瘋了。 買一套 Oracle 來裝?又不是在路邊攤買炸雞排,那一套可貴著呢。

Green Hat 這時就有用了。它可以讓開發中的 POS 系統以為自己真的連上 Oracle 資料庫。 當 POS 系統的程式單元存取資料庫時,Green Hat 將會攔截這個存取動作,讓開發者提供 POS 系統預期得到的輸出資料。你如果用過遊戲修改大師這類軟體的話,那就能理解 Green Hat 的作法了。

若有興趣追溯去年及之前的 IBM 開發者大會內容,請看「Innovate 2011 IBM 開發者大會記事」。

相關文章
樂多舊網址: http://blog.roodo.com/rocksaying/archives/21099844.html