需求調查
規格說明書要點:完整性、正確性、可行性、必要性、劃分優先級、無二義性、可驗證性
原形分析法--主要用戶界面
1、開始窗口
2、歡迎窗口
3、種類窗口
4、貨架/產品窗口
5、貨物Item窗口
6、購物車窗口
7、登錄窗口
8、帳戶信息
9、窗口訂單信息
10、窗口訂單
11、完成窗口
功能介紹
PetStore共有四個子系統組成
1、PetStore Web Site,該部分是petstore的核心,客戶登錄系統進行選擇,定購,提交訂單
2、PetStore Admin,該部分是系統的管理功能,提供銷售統計,手工接受.拒絕訂單等功能,界面也是個web界面
3、Order Processing Center訂單調度中心,對客戶提交的訂單進行處理,用java mail來通知客戶,通過JMS發訂單給供應商
4、PetStore Supplier爲產品供應者提供維護畫面。通過JMS接受訂單,派送貨物給用戶,提供一個基於web的庫存管理,維護庫存數據庫
軟件開發--概要設計
總體設計、接口設計、運行設計、數據結構設計、出錯處理、系統維護
設計考慮
1、應用框架的選擇
Model1=JSP+JavaBean
Model2=JSP+Servlet+JavaBean MVC
功能分離使得應用程序具有更好的重用性,和可維護性
2、WEB層處理商業邏輯和EJB層處理商業邏輯的選擇
EJB層可提供一個穩定的,大規模的,基於組件的開發模式,以及各種穩定的企業特性,如持續性管理,安全管理,異步通訊,事務處理特性
本地和遠程接口EJB的選擇
遠程EJB提高穩定性和性能
本地EJB提高性能,可實現細粒度的操作
配置和編程實現事務控制的選擇
在顯示數據的時候使用了程序控制
在更新數據的時候,採用了配置方式(EJB JDBC)
同步和異步方式的選擇
使用同步方式讀取貨品的目錄
使用異步方式發送訂單
J2EE與MVC的結合
最上層Application Logic是用戶視圖;Web Application Framework(WAF)用來控制應用的視圖跳轉,產生模板視圖,調用商業組件,完成商業處理,提供了許多WEB應用所需的服務,包括請求的過濾和分發;Components封裝了業務邏輯,商業數據,並且操作這些商業數據,實體EJB代表了商業實體
PetStore模塊劃分:控制模塊、客戶登錄和註冊控制模塊、購物車模塊、異步消息模塊、貨架目錄模塊、客戶模塊
數據庫結構:ACCOUNTEJB、ADDRESSEJB、CATEGORY、 CATEGORY_DETAILS、CONTACTINFOEJB、COUNTEREJB、CREDITCARTDEJB、CUSTOMEREJB、 INVENTORYEJB、ITEMEJB、ITEM_DETAILS、LINEITEMEJB、MANAGEREJB、PRODUCTEJB、 PRODUCT_DETAILS、PROFILEEJB、PURCHASEORDEREJB、SEQUENCEGEN、 SUPPLIERORDEREJB、SUPPLIER_ADDRESSEJB、SUPPLIER_CONTACTINFOEJB、 SUPPLIER_LINEITEMEJB、USEREJB
軟件開發--詳細設計與實現
1、控制模塊:控制用戶的請求,商業邏輯,過濾器分析
2、客戶登錄和註冊控制模塊:做爲客戶註冊登錄,也CUSTOMEREJB連接
3、異步信息模塊:客戶下了訂單以後,把消息通過JMS放在消息 列,對消息隊列進行處理
4、貨架目錄模塊:列出商品貨架、種類,客戶根據需求
5、客戶模塊:管理客戶帳戶
6、購物車模塊:在逛網店時,添加商品
控制模塊組成應用的框架
必須能處理所有的HTTP請求
HTTP響應輸入可以是任何的Content-Type
商業邏輯可以容易擴展
新的視圖應容易添加
必須提供靈活的外觀控制
當應用變大時應容易維護
顆粒必須有很好的權衡
新功能必須容易添加
PetStore的 Application Framework是對J2EE藍圖的web層規範的實現。
控制模塊由WEB層的前臺控制servlet和EJB層的EJBController構成
每個請求執行下列操作:
請求過濾
映射請求到某個HTML Action類
執行HTML Action
選擇視圖
結果視圖的裝配
映射事件到EJB Action
執行EJB Action
前臺控制Servlet
負責接受和處理每個HTTP請求,協調其它控制組件分發請求和產生下一個view。請求處理類RequestProcessor將URLs映射到Action
Servlet Filter
可放置到前臺控制Servlet之前,用來完成一些所有請求共同的處理
EJB層的EJBController
解釋執行一個EJBAction,Event和EJBAction使得新的業務功能很容易加入到系統中。
模版Servlet(TemplateServlet)
用來拼裝所有的頁面,形成統一風格的界面
控制模塊實現客戶化功能
過濾請求
EncodeFilter(完成輸碼的功能)和SignOnFilter(用來檢查用戶是否登錄)
集中控制
MainServlet處理所有的請求,控制屏幕走向和視圖的產生
把一個請求映射到一個HTMLAction類執行
用戶登錄和註冊控制模塊
PetStore採用的是應用程序層來控制安全,使用實體EJB來記載客戶和客戶的帳戶信息,在一些受保護的頁面,應用系統判斷客戶是否登錄,如未登錄,應用系統先保存這個請求地址,然後強制跳轉到一個登錄頁面。客戶選擇使用已有帳戶登錄或註冊新的用戶。登錄或註冊成功後,應用系統把保存在sessions中的信息和URL取出,跳轉到那個URL中,讓客戶繼續購物