一、需求調研及分析
對于電子商務銷售的廣義商品主要分為兩種:1、無形商品和服務的電子商務;有形商品和服務的電子商務。
無形商品和服務一般包括:
1)在線訂閱。分為免費訂閱和收費訂閱;
2)特殊信息收費方式。一般分為免費信息和特殊信息,使用下載方式提供;
3)在線服務。每月收取固定的費用,為消費者提供各種在線服務的方式,比如QQ會員,郵箱包月,殺毒包月等;
4)在線娛樂。包括網(wǎng)絡游戲的按月、按時收費等。
有形商品和服務一般表現(xiàn)為網(wǎng)上銷售。
二、產品抽象設計
產品目錄及產品價格不在本文討論范圍內。
根據(jù)需求,具體到實際類型的各種“商品”有很多種類型,其屬性差異很大,所以在設計上考慮到以后的擴展性,將商品設計成為繼承的方式。

如上圖所示。設計一個抽象類Product,放置商品的公共屬性(部分),左邊為有形商品,命名為
SalesProduct,有形商品包含高度、寬度、長度和重量等無形商品不具備的屬性;右邊為無形商品,包括在線訂閱、在線服務,信息下載等。
所有關系都是泛化關系,一對一。
對于一般的網(wǎng)上商城的設計,只需設計SalesProduct即可,但對于電子商務產品而言,則需要考慮以后的
擴展性。
由于產品的抽象,所以在對產品的創(chuàng)建考慮使用工廠模式。
public class ProductFactory {
private static ProductFactory productFactory=null;
private ProductFactory(){}
public ProductFactory getInstance(){
if(productFactory==null){
productFactory =new ProductFactory();
}
return productFactory;
}
public Product makeProduct(Integer productType){
//根據(jù)產品類型返回相應的產品
return null;
}
}
OK。下一步讓我們繼續(xù)分析SalesProduct更加具體的內容。
三、產品詳細設計
下圖是www.joyo.com的影視產品詳細頁面,由于比較長,所以我只貼出第一頁,詳細可見下面鏈接:
http://www.joyo.com/detail/product.asp?uid=wusue1ibcs9ug7g9aaggssg57&pageletid=showTopRenqi&prodid=bkys613058&ref=CN_TS

圖中用紅色圈圈圈住的部分分別為產品標題、演員&導演、價格區(qū)、送貨方式、用戶評分(一種C2B方式)、促銷推薦、描述(及其它屬性)。
還有不在圖中的信息有:內容介紹、購買此商品的顧客也購買了、查看此商品的顧客也查看了、產品參數(shù)、本片的主要演員的其它作品、常見問題、用戶評論、您可以用以下幾種方式找到此商品。
噢!內容太多了。怎么著手呢?
我們分析的思路應該考慮那些是產品本身的屬性、那些是關系密切的外部實體,那些是關系較松散的外部實體。
經(jīng)過分析的內容分類如下:

您也許會奇怪,我為什么始終都沒有將價格放入到產品本身呢?因為就電子商務的銷售而言,價格是變化很頻繁、而且同一個商品會有多種價格(會員等級)、并和各種的促銷形式、進貨價格等掛鉤。所以如果直接做為產品的自有屬性將大大降低了靈活性,導致很多業(yè)務都無法實現(xiàn)(或者很困難)。
考慮到篇幅和重點。本文只討論產品本身的屬性設計。
對于一個商城而言,產品種類很多,各類產品的相關屬性各種各樣,如電影會涉及到演員&導演、一些特定的產品參數(shù),如視頻格式、音頻格式等。
而有一些屬性則是所有產品都共有的,比如產品標題、描述、內容介紹等。
所以在設計上需要考慮到這兩類屬性的區(qū)別。
我將之區(qū)分為公共屬性和自定義屬性。
公共屬性將放入SalesProduct表,自定義屬性則設計如下:

設計考慮,所有Attribute都必須有一個或者多個Options(否則狀態(tài)為不可用),每個
Option都有類型、值、名稱和是否缺省等屬性。產品只會指向Option,關系是多對多。
這樣,我們就可以增加演員Attribute。
(演員在影視管理系統(tǒng)中是實體,在電子商務銷售系統(tǒng)則只是一個值對象了)
在演員Attribute下增加梁朝偉、徐靜蕾等演員(Option)。
然后將傷城這個產品和該Option進行關聯(lián)。
產品參數(shù)等屬性類似。
但是,我們也發(fā)現(xiàn),對于自定義屬性而言,有些屬性是比較重要的,有些是不重要的。
比如演員,不單是放在標題下這個醒目的地方,而且還有業(yè)務挖掘——本片的主要演員的其它作品。
所以,需要對自定義屬性進行進一步的配置。但是這就不屬于自定義屬性本身的范疇了。
我們將會另行設計一個實體來表達這種業(yè)務。
【轉載請注明出處!】
筆者對J2EE相關技術及電子商務方面有所研究,歡迎進行交流。
QQ:16399476
MSN:yanchaomin@hotmail.com
=================================
顏超敏
專注電子商務、工作流企業(yè)級Java軟件系統(tǒng)研發(fā);
個人博客:
Craft6.cn 唯心六藝
=================================
posted on 2007-01-09 12:04
顏超敏 閱讀(2284)
評論(6) 編輯 收藏 所屬分類:
電子商務分析設計