會員管理系統的設計和開發

我們在很多情況下,可能都是某種組織的會員,如健身、游泳館、超市、美容店等其他連鎖店,這些針對會員的管理和消費管理,從而提供給會員更多的優惠,一般通過積分的方式實現。本文主要從一個開發者的角度,對會員系統進行的設計開發進行剖析,希望能與大家一起探討,實現更多的思想碰撞。
如果系統是在一個店鋪使用的,那么使用單機版本的操作模式即可,如可以使用Winform + SQLite/Access方式,實現數據的訪問,并且方便軟件復制和備份工作,如果需要性能好一點或者數據更加安全一點,可以采用獨立的數據庫方式,如采用一個獨立的機器部署SqlServer數據庫或者Mysql數據庫,Oracle數據庫就沒太大必要了。
如果系統是在一系列連鎖店中使用的,那么可以采用Winform+WCF服務方式,實現數據的分布式訪問方式,這樣數據就不會保存在本地,和B/S通過瀏覽器的方式很類似,但是Winform客戶端能提供更豐富的界面體驗效果。當然,我們每一家的連鎖店就需要能夠上網,隨時進行數據的交換處理。
還有一種方式,是離線式的服務,就是彌補第二種方式在斷開網絡的時候不能工作的缺點,這種方式即使在網絡斷開,也能照常運營,網絡通暢的時候,通過手工進行數據的提交就可以了。由于現在網絡一般比較方便,所以這種方式一般采用的不多,只在特殊情況下采用。

1、系統用例的設計

我們知道,會員管理的主要目的就是以會員為中心,實現相關數據的管理。會員管理包括有會員本身的信息管理、會員收費管理、積分管理(積分增減、積分兌換、積分轉賬)、掛失管理、換卡管理、余額轉賬、商品管理、消費管理等等,圍繞著會員管理展開,通過多個職能操作,實現相關數據的錄入和管理。


2、系統數據庫設計

數據庫的設計,也主要是圍繞著會員信息進行的,會員信息是作為所有會員相關記錄的外鍵引用。為了避免數據庫表的閱讀困難,會員管理的相關表,使用“MS_”前綴聲明。
除了以下的表外,還包括了會員的打折設置信息,積分獎勵設置,以及用于會員消費的商品信息,及會員消費的記錄信息(包括消費主表和明細表記錄)。



為了篇幅的介紹,我主要列出會員的主表信息作為討論參考。



表主要使用字符型的ID作為表的主鍵,保存的時候,ID自動使用GUID作為數據存儲,由于考慮了可能多個連鎖店的情況,因此,我們需要增加一個Creator, CreateTime, Editor,EditTime, Dept_ID, Company_ID的通用字段,方便存儲用戶的相關表記錄信息,這樣我們在數據過濾以及報表查詢的時候,會方便很多。

3、系統模塊化設計

當然會員的信息還可以擴展更多,我們一般是以一個通用的會員管理來實現這個模塊,從而可以在整個大系統中進行整合和使用。而一般我們都有自己的平臺模塊積累,在業務層只需要整合現有的一些底層模塊作為支持,業務系統我們獨立開發即可,大概的構造如下所示。



當然,我們隨著系統的開發,我們可能需要整合兩個以上的系統(或者底層業務模塊)到一個大系統里面,這種要求就需要我們所有的系統模塊,都可以通過松耦合、插件化整合的方式實現使用的。



本文主要介紹一個會員系統開發的整體思路和設計,隨著開發的深入,可能會繼續分享一些相關的開發心得。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容