網(wǎng)上書店 軟件工程課程設(shè)計報告(模板)
《網(wǎng)上書店 軟件工程課程設(shè)計報告(模板)》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)上書店 軟件工程課程設(shè)計報告(模板)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 軟件工程課程設(shè)計報告 ( 2010 -- 2011 學年 第二學期) 課程名稱: 軟件工程課程設(shè)計 題 目: 網(wǎng)上書店 院 系:控制與計算機工程學院 班 級: 軟件0801班 組 號: 組 長: 林仙龍 組 員: 李帆、王浩宇 指導教師: 王默玉 設(shè)計周數(shù): 兩周 小組成績:
2、 日期:2011 年 7月 8日 《軟件工程》課程設(shè)計 任 務 書 一、 目的、要求 通過軟件開發(fā)的實踐訓練,進一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實際能力,培養(yǎng)工程設(shè)計能力和綜合分析、解決問題的能力。 具體如下: 1. 學習和實踐在分析和設(shè)計計算機應用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計,編碼和測試方面的知識; 2. 熟悉自動化的軟件開發(fā)工具Rational Rose,并將其運用于軟件開發(fā)的全過程; 3. 進一步加強和提高軟件工程文檔的編寫能力; 4. 培養(yǎng)協(xié)作能力和團隊精神。 二、 主要內(nèi)容
3、 1. 運用面向?qū)ο蠹夹g(shù)、UML及可視化的建模工具完成系統(tǒng)的需求分析與設(shè)計。 2. 使用JAVA語言進行代碼編寫。 3. 運用MySql進行數(shù)據(jù)存儲,讀取。 4. 掌握用JSP與Tomcat進行網(wǎng)頁開發(fā)的方法。 三、任務分配 任務 負責人 參與人 備注 軟件工程課程設(shè)計報告 四、 進度計劃 序號 設(shè)計內(nèi)容名稱 完成時間 備注 1 分組及確定題目 1個工作日 2 初步的需求分析與設(shè)計建模, 確定實現(xiàn)平臺,并搭建環(huán)境
4、 2個工作日 3 詳細的需求分析與設(shè)計建模 2個工作日 進行中期檢查 4 關(guān)鍵模塊的實現(xiàn)與測試 3個工作日 5 編寫課程設(shè)計報告 1個工作日 6 驗收檢查及評定成績 1個工作日 五、 設(shè)計成果要求 1. 建立系統(tǒng)分析與設(shè)計模型; 2. 初步建立系統(tǒng)原型,實現(xiàn)關(guān)鍵的功能; 3. 編寫課程設(shè)計報告。 六、 考核方式 1. 系統(tǒng)演示及講解 占50%。 2. 設(shè)計報告 占50%。 指導教師: 日 期: 2011年 6 月 24 日
5、 《軟件工程》課程設(shè)計 成 績 評定 一、 指導教師評語 二、 成績 學號 姓名 成績 備注 指導教師: 日 期: 2011 年 7 月 8 日 摘要: 隨著網(wǎng)絡(luò)信息的發(fā)展,網(wǎng)絡(luò)在人們生活中的應用越來越廣泛。人們越來越想在最短的時間內(nèi)購買到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此
6、系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。 在電子商務網(wǎng)站中,網(wǎng)上書店是目前應用最廣、最成功的典范之一。通過它用戶可以在網(wǎng)絡(luò)上通過Internet,突破時間和空間的限制而實現(xiàn)網(wǎng)上購書。網(wǎng)上書店的崛起對傳統(tǒng)的圖書流通體系產(chǎn)生了強烈的沖擊,有效地縮短了圖書流通發(fā)行環(huán)節(jié),將廣大讀者、圖書、出版者、發(fā)行者緊密地結(jié)合在一起,大大提高了圖書流通率。它有著經(jīng)營成本低、庫存是虛擬的、用戶檢索方便、地域限制少等特點。 本系統(tǒng)運用面向?qū)ο蠹夹g(shù)、UML及可視化的建模工具Rational Rose 2007及2003完成系統(tǒng)的需求分析與設(shè)計。并且以JSP為主要
7、制作工具,實現(xiàn)了用戶登陸、驗證身份及用戶數(shù)據(jù)的采集、書籍的預覽查詢、對書籍的購買通過購物車實現(xiàn)。 關(guān)鍵詞:網(wǎng)上書店,面向?qū)ο?,Rational Rose 一、課程設(shè)計的目的與要求 通過軟件開發(fā)的實踐訓練,使學生進一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實際能力,培養(yǎng)工程設(shè)計能力和綜合分析、解決問題的能力。 具體如下: 1. 學習和實踐在分析和設(shè)計計算機應用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計,編碼和測試方面的知識; 2. 熟悉自動化的軟件開發(fā)工具Rational Rose,并將其運用于軟件開發(fā)的全過程; 3. 進一步加強和提高軟件工程文檔的編寫能力; 4.
8、 培養(yǎng)協(xié)作能力和團隊精神。 二、設(shè)計正文 1. 概述 1.1 課題描述 隨著網(wǎng)絡(luò)信息的發(fā)展,網(wǎng)絡(luò)在人們生活中的應用越來越廣泛。人們越來越想在最短的時間內(nèi)購買到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。 1.2 系統(tǒng)目標 網(wǎng)上書店既可以避免書目訂貨的局限和盲目,又可以克服看樣訂貨投入大,費用高,管理難的不足,而且網(wǎng)上選擇范圍廣能直觀看樣,可瀏覽內(nèi)容,可隨時添訂,結(jié)算及時,快捷方便,周轉(zhuǎn)高速。這些優(yōu)勢是其它交易方式
9、難以達到的。圖書網(wǎng)上交易是圖書銷售領(lǐng)域未來發(fā)展之必然,也是出版發(fā)行業(yè)擺脫困境,建立新的流通渠道,繁榮出版,繁榮市場的必由之路。 1.3 環(huán)境 a) 操作系統(tǒng): Windows 7, Windows XP,Vista b) 使用軟件: 代碼編寫:JSP 數(shù)據(jù)庫:MYSQL 建模工具:Rational Rose 文檔編寫:Microsoft Word 2007. c) 開發(fā)語言:JSP,JAVA 2. 系統(tǒng)需求分析 網(wǎng)上書店是一種高質(zhì)量,更快捷,更方便的購書方式。網(wǎng)上書店不僅可用于圖書的在線銷售,也有音碟、影碟的在線銷售。而且網(wǎng)站式的書店對圖書的管理更加合理化,信息化。
10、售書的同時還具有書籍類商品管理、購物車、訂單管理,非常靈活的網(wǎng)站內(nèi)容和文章管理功能。 根據(jù)賓館的具體情況,系統(tǒng)的主要功能包括: 1. 用戶功能 : (1) 注冊功能:注冊、登錄、退出、個人管理 (2) 圖書選購:瀏覽圖書、購物車得管理 (3) 訂單的管理:查看訂單、修改訂單、撤銷訂單 2. 管理員功能: (1) 登錄 (2) 用戶管理:刪除用戶、查詢用戶 (3) 圖書管理:添加圖書、刪除圖書、修改圖書、查詢圖書 (4) 訂單管理:查詢訂單、確認訂單、刪除訂單 2.1 用例圖 a) 管理者用例: 1.登錄:管理員登錄。 圖表 a.1管理者登錄用例圖
11、 2.訂單管理:包括對訂單的增加刪除以及查詢訂單功能。 圖表 a.2管理者對訂單管理用例圖 3.圖書管理:對圖書的查詢(通過年份、書名、作者查詢)、刪除、添加以及對圖書的修改。 圖表 a.3管理者對圖書管理用例圖 .4.用戶管理:對用戶的查詢,刪除用戶。 圖表 a.4管理者對用戶管理用例圖 a) b) 客戶用例圖 1.登錄:用戶登錄。 圖表 b.1客戶登錄用例圖 2.訂單管理:讓用戶可以對自己訂單進行查看、撤銷、訂單的查詢、訂單的日期查詢、修改訂單等等。 圖表 b.2客戶對訂單管理用例圖
12、3.圖書選購:通過劉丹圖書的信息,當需要購買時創(chuàng)建購物車,通過購物車來進行對圖書進行瀏覽、刪除以及訂單的生成和數(shù)量的修改等等。 圖表 b.3客戶圖書選購用例圖 4.注冊:用戶的注冊。 圖表b.4客戶注冊用例圖 2.2 類圖 系統(tǒng)采用MVC三層架構(gòu),另將數(shù)據(jù)庫操作提取為單獨一層。 a) 視圖層:控制用戶界面,及用戶與系統(tǒng)的交互,此處省略。 b) 控制器層:控制具體業(yè)務。 PersonRrcControl:控制管理員及前臺人員。 UserAction:用戶進行對網(wǎng)頁的瀏覽以及對圖書的選購。 AdminAction:圖書管理者對用戶訂單的處理。
13、 圖表 1 控制層類圖 c) 業(yè)務邏輯層: 包括登錄,圖書管理以及訂單處理等等。 圖表 2 業(yè)務邏輯層類圖 d) 持久層:控制數(shù)據(jù)庫的增刪查改操作。 圖表 3 持久層類圖 系統(tǒng)中用到的所有模型類圖如下: Manager:系統(tǒng)管理員,字段包括管理者得等級。 User:用戶,字段包括用戶身份姓名、密碼。 Order:訂單,字段包括訂單號、訂單人的姓名、訂單的花費、訂購人的手機號、訂單的日期、訂單的狀態(tài)。 Book:圖書信息,字段包括圖書號、圖書名、作者名、圖書價錢、圖書的類型、圖書的簡介、圖書的出版日期。 圖表 4
14、模型類圖 2.3 順序圖 a) 管理者進行登錄: 管理者通過進行登錄的動作響應(LoginAction),并且調(diào)用了登錄服務函數(shù)(LoginService),通過姓名密碼來對Person類進行核對來確定是否成功登錄。 圖表 a 管理者進行登錄順序圖 b) 管理者對圖書管理: 這個順序圖里,由于功能較多用BookService()函數(shù)來進行查詢圖書、刪除圖書、添加圖書、修改圖書等等來進行對圖書的管理,最后更行了BookDao。 圖表 b 登錄者對圖書管理順序圖 c) 用戶訂單處理: 用戶通過UserAction進行對圖書的查找,并且通過Order
15、Service來進行對需要的圖書加入購物車,進行對圖書的修改等等,最終確定訂單后對OrderDao進行結(jié)賬。 圖表 c 用戶訂單處理順序圖 3. 系統(tǒng)總體設(shè)計 系統(tǒng)模塊圖: 網(wǎng)上書店 用戶系統(tǒng) 管理員系統(tǒng) 注冊登錄 圖書選購 訂單管理 注冊 登錄 退出 瀏覽圖書 購物車管理 選購圖書 修改訂單 撤銷訂單 查看訂單 登錄 用戶管理 圖書管理 訂單管理 個人管理 密碼修改 刪除用戶 添加圖書 刪除圖書 修改圖書 查詢圖書 確認訂單 刪除訂單 查詢用戶 查詢訂單 刪除物品 修改數(shù)量 查看 詳細信息 查看 詳細信息
16、 生成訂單 1 2 3 3.1 設(shè)計數(shù)據(jù)管理子系統(tǒng) 用戶表:User(username,password) 管理員表:Admin(adminname,adminpsw) 書籍表:Book(bookid,bookname,bookauthor,price,publish,publishtime,serialnum,info) 訂單表:Orders(orderid,username,ordernum,expense,address,phonenum,ordertime); 3.2 設(shè)計人機交互子系統(tǒng) 1) 管理者登錄頁面: 2) 管理員添加書籍界面:
17、
3) 用戶瀏覽圖書頁面
4) 購物車頁面
4. 詳細設(shè)計
訪問首頁
點擊購物按鈕
進入ShoppingAction
檢查Session
創(chuàng)建Shopcart
添加圖書
瀏覽購物車
不存在購物車
存在
5. 系統(tǒng)實現(xiàn)
1) 購物車類
import java.util.*;
import com.my.bookstore.model.Book
public class ShoppingCart
{
Map
18、e = 0;
public ShoppingCart()
{
}
public void updatePrice()
{
price = 0;
Iterator
19、 int num = itemMap.get(book);
itemMap.put(book, num + 1);
} else {
itemMap.put(book, 1);
}
updatePrice();
}
public void removeItem(Book book)
{
itemMap.remove(book);
updatePrice();
}
public void print()
{
Iterator
20、le(it.hasNext()){ Book b = it.next(); System.out.println(b.getBookname()+":"+itemMap.get(b)); } } } 2) 購物車Action public class ShopcartAction extends ActionSupport { int bookid; String command; BookService bookService = new BookService(); @Override public String execute()
21、 throws Exception { // TODO Auto-generated method stub /*add item*/ HttpSession session = ServletActionContext.getRequest().getSession(); if(command.equals("show")){ ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ; if(cart == null) { cart = new Shopping
22、Cart(); session.setAttribute("cart", cart); } } if(command.equals("add")){ ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ; if(cart == null) { cart = new ShoppingCart(); cart.addItem(getBookService().getBookById(getBookid())); session.setAttr
23、ibute("cart", cart); } else { cart.addItem(getBookService().getBookById(getBookid())); session.setAttribute("cart", cart); } } /*delete item*/ if(command.equals("delete")){ ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ; cart.removeItem(bookService
24、.getBookById(bookid)); } return SUCCESS; } } 6. 測試 1) 測試管理員登錄:Admin 登錄成功界面 2) 測試管理員添加書籍 1. 管理員進入添加書籍界面,輸入書籍信息。 2.數(shù)據(jù)庫變化 3.首頁變化 3) 測試用戶點擊購買按鈕 1. 用戶在首頁點擊購買按鈕后進入購物車界面,用例中用戶購買了設(shè)計模式。 2.用戶返回首頁繼續(xù)選擇書籍。 三、課程設(shè)計總結(jié)或結(jié)
25、論 通過這次課設(shè),我們通過了市場調(diào)研以及從網(wǎng)上收集信息我們知道了JSP網(wǎng)上書店,包括其他類型的網(wǎng)上書店,都是電子商務的傳統(tǒng)的應用。電子商務是計算機網(wǎng)絡(luò)的又一次的革命,旨在通過電子手段建立一種新的經(jīng)濟次序,它不僅涉及電子技術(shù)和商業(yè)交易本身,而且涉及到諸如金融、稅務、教育等社會其他層面。從微觀角度說,電子商務是指各種具有商業(yè)活動能力的實體(生產(chǎn)企業(yè)、商貿(mào)企業(yè)、金融機構(gòu)、政府機構(gòu)、個人消費等)利用網(wǎng)絡(luò)和先進的數(shù)字化傳媒技術(shù)進行的各項商業(yè)貿(mào)易活動,這里要強調(diào)兩點:一是活動要有商業(yè)背景;一是網(wǎng)絡(luò)化和數(shù)字化。這讓我們深深的了解到了做開發(fā)之前對這項開發(fā)的背景了解的重要性,只有通過對背景的深刻了解,我們才能
26、保證開發(fā)之后有一定的市場。特別是通過一定人數(shù)的市場的調(diào)研,只要充分了解到了大多數(shù)人的具體需求才能夠?qū)唧w的設(shè)計進行正確的建模。 在開發(fā)設(shè)計的過程中,曾經(jīng)出現(xiàn)了一些問題,通過和同學交流以及網(wǎng)上搜索信息,都已經(jīng)解決,實現(xiàn)了最終的目標。在進行編碼之前,對于需求分析很重要,我們通過對網(wǎng)絡(luò)充分的收集信息,進而對模塊劃分做了充分的討論。雖然前期出來一些模塊構(gòu)建的分歧,但是我們后來積極基于客戶的方面把意見達成了統(tǒng)一。在畫類圖、用例圖以及順序圖都是基于現(xiàn)實客戶以及管理的需要,進行符合實際的畫圖,花費了很長時間對其設(shè)計。明白了開發(fā)編碼不是全部,前面的設(shè)計也是非常耗時耗力,需要我們積極參與和注重分析。 在開發(fā)
27、的過程中,也曾經(jīng)感覺到代碼的凌亂復雜沒有規(guī)律。在對書中內(nèi)容進行系統(tǒng)地了解后,終于明白采用三層架構(gòu)的技術(shù),并且使用打包的方法和頭文件的提取,確保了代碼的簡潔明快,并提高了代碼的可重用行。整個開發(fā)過程,努力貼近軟件工程的思想,通過前期可行性分析,需求分析,進入到概要設(shè)計,然后總體詳細設(shè)計,最后代碼產(chǎn)生后,亦進行白盒測試。這個過程中,積極學習,盡量做到舉一反三,一小見大,在JSP+JAVA開發(fā)過程中,了解掌握了JAVA的基本構(gòu)架和設(shè)計思想,開發(fā)流程。到目前為止,已經(jīng)明晰了JAVA的總體思想。在未來的時間里,詳細這次課設(shè)打下了基礎(chǔ),能讓我們進一步對JAVA和JSP編程有了進一步的提升。 四、參考文獻 [1] 作者1, 作者2. 書名. 出版單位, 版本. 出版日期 作者1鄭人杰,作者2 馬素霞, 作者3殷人昆 書 名: 軟件工程概論 出版社: 機械工業(yè)出版社 出版時間: 2010年03月 作者1蔡敏,作者2黃炳強 書名:UML 基礎(chǔ)與ROSE 建模教程 出版社:人民郵電出版社 出版日期: 2006-01-01 附錄(設(shè)計流程圖、程序、表格、數(shù)據(jù)等) 23
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。