1. 數(shù)據(jù)可配置性 定制字段:根據(jù)客戶的需求在數(shù)據(jù)表上增加相應(yīng)的定制字段來(lái)保存擴(kuò)展數(shù)據(jù)。例如,根據(jù)客戶33的需求,在客戶表中增加來(lái)源Source和Introducer兩個(gè)字段 。跟客戶40的需求在客戶表中增加salary和work兩個(gè)字段。這種方式的缺點(diǎn)就是隨著客戶的增多,客戶表的字段數(shù)據(jù)將會(huì)變的非常多,一個(gè)客戶定制的字段對(duì)于另外一個(gè)客戶來(lái)說(shuō)是毫無(wú)意義的,嚴(yán)重破壞了數(shù)據(jù)表的結(jié)構(gòu)。但是其不需要處理復(fù)雜的數(shù)據(jù)延伸的追蹤。 預(yù)定義字段:在用戶可能有擴(kuò)展需求的表中預(yù)設(shè)一定數(shù)量的字段。當(dāng)用戶提出擴(kuò)展需求時(shí),使用其中的一個(gè)或者多個(gè)字段來(lái)保存擴(kuò)展數(shù)據(jù)。其缺點(diǎn)是無(wú)法事先確定預(yù)定義字段的數(shù)量。 名稱值對(duì):將擴(kuò)展數(shù)據(jù)的保存和原數(shù)據(jù)表分離,另外用一個(gè)統(tǒng)一的擴(kuò)展數(shù)據(jù)表來(lái)保存。擴(kuò)展數(shù)據(jù)表將數(shù)據(jù)表的橫向擴(kuò)展列轉(zhuǎn)換為縱向的數(shù)據(jù)集,將每一條原始數(shù)據(jù)記錄的一個(gè)擴(kuò)展字段,都保存成一條擴(kuò)展數(shù)據(jù)行。將數(shù)據(jù)表中的數(shù)據(jù)記錄與配置元數(shù)據(jù)表中的配置記錄關(guān)聯(lián),構(gòu)成擴(kuò)展數(shù)據(jù)記錄。可以提供無(wú)限數(shù)量的自定義擴(kuò)展字段。 但是其增加數(shù)據(jù)操作的復(fù)雜性,查詢時(shí)也要多次訪問(wèn)數(shù)據(jù)庫(kù)才能得到完整的業(yè)務(wù)數(shù)據(jù)。 2.功能可配置性 原子功能劃分 功能分解遵循的原則: 每個(gè)功能都是有價(jià)值的 每個(gè)功能都是不可再細(xì)分的 功能間不可重疊 功能間不可依賴循環(huán) 整個(gè)系統(tǒng)功能是完整的 并不是所有的原子功能都可以單獨(dú)使用的。有些功能是需要依賴其他功能才能使用,功能之間是存在一定依賴關(guān)系的。例如,用戶沒(méi)有購(gòu)買“產(chǎn)品管理”模塊,那么他就不能在“客戶管理”模塊使用“相關(guān)產(chǎn)品”這一功能。
功能包設(shè)計(jì) 當(dāng)系統(tǒng)功能被劃分為許多原子功能后,直接配置原子功能給每個(gè)租戶是比較復(fù)雜的。需要根據(jù)用戶類型和使用的場(chǎng)景,對(duì)原子功能進(jìn)行打包,然后為每個(gè)用戶配置其合適的功能包。功能包的設(shè)計(jì)要遵循高內(nèi)聚、低耦合的原則,盡量將相關(guān)的和相互依賴的原子功能設(shè)計(jì)在一個(gè)功能包中。同時(shí)應(yīng)該減少功能包和功能包之間的依賴,使得各個(gè)功能包盡可能獨(dú)立的進(jìn)行操作使用。
銷售包的設(shè)計(jì) 通過(guò)功能包的設(shè)計(jì),雖然可以將系統(tǒng)功能組合成幾個(gè)相對(duì)比較獨(dú)立的部分,但是這些功能包仍然不可以完全獨(dú)立使用,也就不能夠單獨(dú)銷售。為了讓用戶購(gòu)買了系統(tǒng)以后可以充分使用其同能,需要按照不同的商業(yè)意圖構(gòu)造合適用戶的銷售包。例如,按照客戶使用功能的多少,可以把系統(tǒng)劃分為最小版、標(biāo)準(zhǔn)版、完整版。按照客戶所屬的行業(yè)類型,可以劃分為服務(wù)行業(yè)版和制造行業(yè)版。 3.界面可配置性 系統(tǒng)菜單可配置性 同樣的菜單對(duì)不同的租戶來(lái)說(shuō),可能有不完全一樣的名字。例如,CRM中的客戶管理,在醫(yī)院使用時(shí),就得改成病人管理,客戶服務(wù)人員就 得改成醫(yī)生,客戶服務(wù)記錄就是就診記錄等。另外菜單的層次結(jié)構(gòu)和分布,不同的租戶可能也會(huì)有不同的要求。在設(shè)計(jì)上需要考慮以下幾個(gè)問(wèn)題: 一個(gè)用戶一套菜單 一個(gè)菜單可以關(guān)聯(lián)一個(gè)子功能 組織成樹型結(jié)構(gòu),構(gòu)成上下級(jí)菜單結(jié)構(gòu) 同級(jí)菜單之間還存在顯示順序的問(wèn)題
界面元素可配置性 各功能界面上的內(nèi)容也是供用戶和系統(tǒng)交互的界面元素。不同的租戶可能有各種不同的需求,無(wú)論對(duì)頁(yè)面元素的個(gè)數(shù)、位置、順序,還是元素的含義,租戶都會(huì)有一些個(gè)性化的需求。 對(duì)于在設(shè)計(jì)時(shí)設(shè)定的界面元素,一般情況下是不允許刪除的,但有時(shí)候還是允許租戶將一些無(wú)關(guān)緊要的字段隱藏。另外,同一個(gè)界面上同一個(gè)字段代表的含義可能是不一樣的。例如,“客戶新建”界面上有一個(gè)字段叫“客戶姓名”,可有的租戶就喜歡把它叫做“顧客姓名”或者“代理商姓名”。 4.流程可配置性 5.配置元數(shù)據(jù)管理 6.可配置系統(tǒng)運(yùn)行 |
|
來(lái)自: figol > 《架構(gòu)設(shè)計(jì)》