1、什么是產品
產品:滿足行業共性需求的標準產品。即要能夠做到配置化的開發,用同一款產品最大限度地滿足不同客戶的需求,同時讓產品具有可以快速響應客戶需求變化的能力。
好的產品一定吸收了多個項目的共性,一定是多個項目經驗的集大成者。
2、產品化的理論支撐
(1)組合原理:三元素=功能、邏輯、模型,表達的是業務的功能、業務邏輯和模型(將要素和邏輯整合在一起的形式)。
(2)基干原理:三元素=組件、機制、系統,表達的是系統的要素、運行機理和系統(將圖16-15中的A、B、C、D整合在一起的形式)。
在系統設計時要將業務元素(要素、邏輯、模型)換成系統元素(組件、機制、系統),基干原理是組合原理在應用設計階段的不同表達形式。
所有系統的運行都是由基干原理三元素按照基干模型給出的規律進行反復的循環,這樣就找到了系統中業務的運行機理。業務的內容、架構的形態可以有無數種,但是在系統中的運行機理都是一樣的,即組件+機制。
將穩定的內容和易變的內容分離開,不易變化的內容歸集到組件中,易變的內容歸集到機制中。在產品的設計和實現時,將易變的功能做成可配置的,如通過改動參數適應需求變化,這樣就達到了產品的應變效果。
機制是“設置于組件之間的一種關聯作用,可以使組件或業務處理按照某種規律反復進行”,機制是通過功能和規則實現的。
3、如何實現產品化
1、構件化
構件化思路:將傳統上用編碼直接編寫程序的方式改為用編碼開發制作小的控件,再由小控件組裝成大的構件的方式來開發軟件
采用4層的實現方式。
第一層:首先用編碼的方式開發最小的控件:窗體、按鈕、輸入框等。
第二層:用“控件+規則”的方式形成組件。
第三層:用“組件+機制”的方式形成模塊/系統。
第四層:用“系統+機制”的方式形成產品。
2、平臺化
通過制造最小的控件和規則,由這兩者不斷地組合“形成”上一級的構件。即建立裝配式平臺。
3、配置化
〇 構件:比組件更小的零件,由構件(按鈕、樹表等)可以裝配出軟件的界面。
〇 規則:機制是用規則來表達的,系統執行的是規則,因此規則就等于機制。
將構成軟件(組件)的內容進行拆分,形成一個一個的單獨構件,然后逐一完成單獨構件的制作,這就是軟件工業化開發的基本思路。
4、設計文檔生成自動化
在對各類界面上的控件、控制規則等進行拖曳時,可以同時記錄這些活動,并產生對應的文字,從而自動形成設計文檔。
4、軟件開發智能化:設計工程化、開發工業化、產品構件化
軟件設計工程化:按照工程化的要求,將軟件設計過程的各項工作進行量化和標準化,并在實施工程中實現各階段成果的傳遞與繼承。
軟件開發工業化:按照工業生產的方式,利用少碼、無碼的軟件開發技術,從構件形成組件,再由組件形成模塊和系統。
設計工程化、開發工業化、產品構件化,才能最終實現軟件開發智能化。