welcom ! Handel home

2016年4月24日 星期日

CI工具的介紹 @ 敏捷開發 mode

CI工具的介紹
持續整合 (Continuous integration, CI)   一種軟體專發展的方法
由企劃規格開始就建立自動化 , 產出規範及測試程式 以CI 的精神
基於GIT SVN 版本管理自動化 到 測試驗證自動化 產出測試報告
將測試結果 自動發mail 給所有專案相關人 是一種即時回報開發進度及報告的開發作業流程 將專案管理提升到一個層次 而軟體設計師則變成 勞力密集的勞工 每天以 程式碼產出的數量 及 錯誤率高低 量化績效!
這是目前 網頁設計 或 軟體開發專案的主流管理模式
還在單打獨鬥 用傳統手工進行開發軟體的 公司或人 將成為 資訊石器時代的原始人 被 競爭的演化法則淘汰!


TFS
Hudson
TeamCity
CruiseControl
CruiseControl.NET

摘要比較:

TFS,要錢,Total Solution,與其他工具比是最完整貫穿整個ALM的工具。從需求分析開始,系統分析、Work item checking、版本庫、程式碼分析、測試、產生分析報表、建置、部署、bug tracking,都包含在裡面。(這麼完整的功能,就不難想像為什麼要收費)

Hudson,免費,產生的圖表介面相當好懂且平易近人,與多種語言平台相容性高,社群有開發不少外掛供使用。
[註]沒記錯的話,Hudson好像也被Oracle買走了,所以現在大部分都是改用Jenkins。

TeamCity,免費,簡單、快速建立,與JetBrains工具整合度高。

CC與CC.NET,免費、陽春、單純。

2016年4月20日 星期三

RTOS Design software VM 系統架構規劃

** 語言對平台的延續性 慎選語言 要能跨平台 要相容 才能累積成果經驗 減少歸零的挫折
** 軟體技術分析文件 資料結構 演算法 狀態圖 流程圖 才是軟體的靈魂 找對工具軟體 建立標準的文件格式 建立資料
** 建立函數庫 累積資源 提升coding 效率 , 結構化物件化 的規劃 建立 功能導向 需求導向的 函數庫或物件庫 以此 在上層建立 軟體的演算法 資料結構 如此 軟體轉換平台時 只要針對 底層函數庫改寫 或重新編譯
** 軟體系統的分層架構規劃
L00:[HardHDL] 硬體層
L01:[BIOS] 基本io 驅動
L02:[DRIVE1_LOW] 低階驅動 庫
L03:[DRIVE2_HIGH] 高階驅動 庫
L04:[SYS_PUBLIB] 系統公用函數庫
L05:[APP_PUBLIB] 應用公用函數庫
L06:[USER_PUBLIB] 使用及含庫
L07:[APP] 應用程式
各階層的關聯限制 嚴格遵守 提高系統的穩定及高度移植效率
L07 LINK L06,L05,L04
L06 LINK L04,L04
L05 LINK L04,L03
L04 LINK L03,L02
L03 LINK L02,L01
L02 LINK L01,L00
L01 LINK L00
由此理論 應建構一個 理想化的軟體虛擬平台 VM
累積設計資源