本出版品以產品規劃的角度來探討使用Linux來開發一個資訊產品所需的知識、技術及資源。讓我們舉個實例開始吧:
S公司要開發一個類似數位相框的多媒體播放裝置,由於數位相框技術已經十分成熟,所以希望加上一些創新功能,例如一個連線播放功能可以播放遠端另一台同款式數位相框內容的功能。S公司的RD部張協理負責和行銷部一起規劃這個產品的規格,而研發部的陳經理則擔當本產品的架構師及這個產品team的leader。張協理請陳經理針對競爭者類似的規格作一些初步的規劃。陳經理接到這個工作時首先列下了一些問題
- 要選擇什麼樣的硬體平台,CPU 速度? Ram大小 ? 儲存裝置的大小及種類 ? 哪些週邊要支援 ?
- 使用者是如何操控這台設備?只能使用螢幕還是也可以使用遠端登入例如使用瀏覽器來操控
- 儲存方式要如何規劃? 開機的系統、設定檔、影像資料、回復出廠系統檔案要如何安置
- 開關機的流程要如何規劃?開機有哪些啟始流程? 關機又需要有哪些?
接下他又針對Linux列了一些相關的問題
- 使用甚麼版本的核心?及甚麼樣的根目錄檔案系統? 由自己製作還是硬體供應商提供
- 考慮單機下的功能時,軟體架構為何? 有哪些常駐程式(Daemon)?有哪些驅動程式(Driver) ?
- 考慮網路相關的功能,網路服務如何提供?主從式的架構為何?
- 單機下的常駐程式、驅動程式及網路服務的伺服程式彼此如何溝通?
- 使用甚麼方式來做系統的自我診斷,紀錄,及回復
接下來他列了一些產品開發管理的問題
- 雛形預計功能和時程為何?
- 如何切割模組和分工?概略的甘特圖為何?現有人力足夠否?
- 如何整合到公司既有的版本管理系統,程式碼文件系統,錯誤追蹤系統
本出版品就是為了探討這些相關問題的內容及細節,不同於專在探討Linux系統的使用及Linux程式開發的書籍,本出版品以產品開發生命週期中各項的需求向讀者介紹所需的知識和資源,並將分類介紹不同型式的產品。將包含三大篇: 產品設計篇、作業系統技術篇及軟體開發管理篇。個篇預計內容如下:
產品設計篇
- 設計產品的一些共同準則
- 網路閘道器的設計規劃
- 伺服器的設計規劃
- 多媒體播放設備的設計規劃
- 影音監控設備的設計規劃
- 行動上網裝置的設計規劃
- 手機及通訊裝置的設計規劃
作業系統技術篇
- 重要參考資料書籍導讀
- Linux作業系統運作流程概念
- 系統程式運作流程概念上
- 系統程式運作流程概念下
- 驅動程式運作流程概念上
- 驅動程式運作流程概念下
- TCP/IP網路程式運作流程概念
- 系統安全性
軟體開發管理篇
- 開發環境及除錯環境
- 建構程式碼管理環境
- 研發及專案管理
- 測試管理維運管理