Struts應用系統案例設計之需求分析
某公司是一家處于快速發展中的中小型銷售公司,他們打算架構一個網站。計劃分兩步走:首先做一個宣傳型的網站,然后在公司規模達到一定程度時擴展為網上商店。
在第一步計劃中,某公司的主要想法是通過網站能及時介紹公司的產品、服務以及其他公司相關情況;由于不斷有新品上架,他們希望能通過公司市場銷售人員直接來修改頁面,將新的信息直接發布在網站上;同時他們也希望頁面美工風格能定期地改進和更換。
某公司這樣的需求其實代表了大多數公司進軍電子商務的意圖,因此這個案例有一定的普遍性。
分析這樣的需求,他們需要的實際是一套能通過Web修改頁面的網站內容管理系統。這套系統將來能掛接網上商店系統,因此在選擇技術架構和系統設計上必須充分注意可拓展性。該系統的模式如圖1所示。
本項目主要是網站管理者要求能夠創建頁面、修改頁面和刪除頁面。仔細分析需求,網頁頁面其實分兩個元素:網頁內容和網頁外觀,后者也可以稱為網頁模板。網頁模板并不是每次修改頁面時都需要變更。
因此,需要把內容和顯示模板完全分離,本網站內容管理系統實際分兩大部分:數據內容和顯示模板。在用戶獲得頁面時,系統自動將這兩部分融合在一起輸出到瀏覽器。
一個頁面可以劃分為幾個固定區域,如圖2所示。
1. 標題欄(Header)用來放置頁面頭部的信息。如標題、公司名稱,以及公司的LOGO或商標圖片等。
2. 頁尾欄(Footer)放置公司的詳細地址、版權聲明或其他相關信息。
3. 菜單欄(Navlink)是放置菜單的區域。菜單是頁面的重要組成部分,菜單的集合定義為導航條(Navlink)。在圖4-2中,菜單欄是位于頁面的左邊,也有可能位于頁面的右邊,當然,還有可能與標題欄和頁尾欄在一起。這就要求在架構設計時考慮到這種靈活性,使得系統具備可擴展性。
4. 內容欄(Body)是整個網站的內容部分,這個內容有可能是以下幾種類型:
a) 純文字型: 這最容易處理,使用HTML就可以排列出一定的格式。
b) 文字和圖片型:需要考慮文字和圖片的排列方式,圖片位于文字上方還是文字下方等。
c) 功能型:本內容有可能是系列新聞、論壇或電子購物產品列表等,這樣的頁面都不是靜態HTML能直接處理的,需要和數據庫連接,屬于動態頁面,功能型內容可以由專門軟件去完成。
在本項目中,可以只完成文字相關的內容編輯和修改功能。在擴展性方面,需要考慮允許功能型內容的動態插入。
在進行了以上用例需求分析后,就可以依此進行架構設計和系統詳細設計。
在第一步計劃中,某公司的主要想法是通過網站能及時介紹公司的產品、服務以及其他公司相關情況;由于不斷有新品上架,他們希望能通過公司市場銷售人員直接來修改頁面,將新的信息直接發布在網站上;同時他們也希望頁面美工風格能定期地改進和更換。
某公司這樣的需求其實代表了大多數公司進軍電子商務的意圖,因此這個案例有一定的普遍性。
分析這樣的需求,他們需要的實際是一套能通過Web修改頁面的網站內容管理系統。這套系統將來能掛接網上商店系統,因此在選擇技術架構和系統設計上必須充分注意可拓展性。該系統的模式如圖1所示。
![]() 圖1 用例 |
本項目主要是網站管理者要求能夠創建頁面、修改頁面和刪除頁面。仔細分析需求,網頁頁面其實分兩個元素:網頁內容和網頁外觀,后者也可以稱為網頁模板。網頁模板并不是每次修改頁面時都需要變更。
因此,需要把內容和顯示模板完全分離,本網站內容管理系統實際分兩大部分:數據內容和顯示模板。在用戶獲得頁面時,系統自動將這兩部分融合在一起輸出到瀏覽器。
一個頁面可以劃分為幾個固定區域,如圖2所示。
![]() 圖2 頁面劃分區域 |
1. 標題欄(Header)用來放置頁面頭部的信息。如標題、公司名稱,以及公司的LOGO或商標圖片等。
2. 頁尾欄(Footer)放置公司的詳細地址、版權聲明或其他相關信息。
3. 菜單欄(Navlink)是放置菜單的區域。菜單是頁面的重要組成部分,菜單的集合定義為導航條(Navlink)。在圖4-2中,菜單欄是位于頁面的左邊,也有可能位于頁面的右邊,當然,還有可能與標題欄和頁尾欄在一起。這就要求在架構設計時考慮到這種靈活性,使得系統具備可擴展性。
4. 內容欄(Body)是整個網站的內容部分,這個內容有可能是以下幾種類型:
a) 純文字型: 這最容易處理,使用HTML就可以排列出一定的格式。
b) 文字和圖片型:需要考慮文字和圖片的排列方式,圖片位于文字上方還是文字下方等。
c) 功能型:本內容有可能是系列新聞、論壇或電子購物產品列表等,這樣的頁面都不是靜態HTML能直接處理的,需要和數據庫連接,屬于動態頁面,功能型內容可以由專門軟件去完成。
在本項目中,可以只完成文字相關的內容編輯和修改功能。在擴展性方面,需要考慮允許功能型內容的動態插入。
在進行了以上用例需求分析后,就可以依此進行架構設計和系統詳細設計。