網(wǎng)上書店--軟件工程課程設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  軟件工程課程設(shè)計(jì)報(bào)告</p><p>  ( 2013 -- 2014 學(xué)年 第二學(xué)期)</p><p>  課程名稱: 軟件工程課程設(shè)計(jì) </p><p>  題 目: 網(wǎng)上書店 </p><p>  院 系: 計(jì)算機(jī)學(xué)院 &

2、lt;/p><p>  班 級: 軟件(.NET)12-2班 </p><p>  組 長: </p><p>  組 員: </p><p>  指導(dǎo)教師:

3、 </p><p>  小組成績: </p><p>  日期:2014 年 6月 20日</p><p>  《軟件工程》課程設(shè)計(jì)</p><p><b>  任 務(wù) 書</b></p><p><b>  一

4、、 目的、要求</b></p><p>  通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問題的能力。</p><p><b>  具體如下:</b></p><p>  學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測試方面的

5、知識;</p><p>  熟悉自動化的軟件開發(fā)工具Rational Rose,并將其運(yùn)用于軟件開發(fā)的全過程;</p><p>  進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力;</p><p>  培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。</p><p><b>  二、 主要內(nèi)容</b></p><p>  運(yùn)用面

6、向?qū)ο蠹夹g(shù)、UML及可視化的建模工具完成系統(tǒng)的需求分析與設(shè)計(jì)。</p><p>  使用JAVA語言進(jìn)行代碼編寫。</p><p>  運(yùn)用MySql進(jìn)行數(shù)據(jù)存儲,讀取。</p><p><b>  三、任務(wù)分配</b></p><p><b>  摘要:</b></p><p&

7、gt;  隨著網(wǎng)絡(luò)信息的發(fā)展,網(wǎng)絡(luò)在人們生活中的應(yīng)用越來越廣泛。人們越來越想在最短的時間內(nèi)購買到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。</p><p>  在電子商務(wù)網(wǎng)站中,網(wǎng)上書店是目前應(yīng)用最廣、最成功的典范之一。通過它用戶可以在網(wǎng)絡(luò)上通過In

8、ternet,突破時間和空間的限制而實(shí)現(xiàn)網(wǎng)上購書。網(wǎng)上書店的崛起對傳統(tǒng)的圖書流通體系產(chǎn)生了強(qiáng)烈的沖擊,有效地縮短了圖書流通發(fā)行環(huán)節(jié),將廣大讀者、圖書、出版者、發(fā)行者緊密地結(jié)合在一起,大大提高了圖書流通率。它有著經(jīng)營成本低、庫存是虛擬的、用戶檢索方便、地域限制少等特點(diǎn)。</p><p>  本系統(tǒng)運(yùn)用面向?qū)ο蠹夹g(shù)、UML及可視化的建模工具Rational Rose 2007及2003完成系統(tǒng)的需求分析與設(shè)計(jì)。并且以

9、JSP為主要制作工具,實(shí)現(xiàn)了用戶登陸、驗(yàn)證身份及用戶數(shù)據(jù)的采集、書籍的預(yù)覽查詢、對書籍的購買通過購物車實(shí)現(xiàn)。</p><p>  關(guān)鍵詞:網(wǎng)上書店,面向?qū)ο?,Rational Rose</p><p>  一、課程設(shè)計(jì)的目的與要求</p><p>  通過軟件開發(fā)的實(shí)踐訓(xùn)練,使學(xué)生進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解

10、決問題的能力。</p><p><b>  具體如下:</b></p><p>  學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測試方面的知識;</p><p>  熟悉自動化的軟件開發(fā)工具Rational Rose,并將其運(yùn)用于軟件開發(fā)的全過程;</p><p>  進(jìn)一步加強(qiáng)

11、和提高軟件工程文檔的編寫能力;</p><p>  培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。</p><p><b>  二、設(shè)計(jì)正文</b></p><p><b>  概述</b></p><p><b>  課題描述</b></p><p>  隨著網(wǎng)絡(luò)信息的發(fā)展

12、,網(wǎng)絡(luò)在人們生活中的應(yīng)用越來越廣泛。人們越來越想在最短的時間內(nèi)購買到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。</p><p><b>  系統(tǒng)目標(biāo)</b></p><p>  網(wǎng)上書店既可以避免書目訂貨

13、的局限和盲目,又可以克服看樣訂貨投入大,費(fèi)用高,管理難的不足,而且網(wǎng)上選擇范圍廣能直觀看樣,可瀏覽內(nèi)容,可隨時添訂,結(jié)算及時,快捷方便,周轉(zhuǎn)高速。這些優(yōu)勢是其它交易方式難以達(dá)到的。圖書網(wǎng)上交易是圖書銷售領(lǐng)域未來發(fā)展之必然,也是出版發(fā)行業(yè)擺脫困境,建立新的流通渠道,繁榮出版,繁榮市場的必由之路。</p><p><b>  環(huán)境</b></p><p>  a) 操作系

14、統(tǒng): Windows 7, Windows XP,Vista</p><p><b>  b) 使用軟件:</b></p><p><b>  代碼編寫:JSP</b></p><p><b>  數(shù)據(jù)庫:MYSQL</b></p><p>  建模工具:Rational Ro

15、se</p><p>  文檔編寫:Microsoft Word 2007.</p><p>  c) 開發(fā)語言:JSP,JAVA</p><p><b>  系統(tǒng)需求分析</b></p><p>  網(wǎng)上書店是一種高質(zhì)量,更快捷,更方便的購書方式。網(wǎng)上書店不僅可用于圖書的在線銷售,也有音碟、影碟的在線銷售。而且網(wǎng)站式的

16、書店對圖書的管理更加合理化,信息化。售書的同時還具有書籍類商品管理、購物車、訂單管理,非常靈活的網(wǎng)站內(nèi)容和文章管理功能。</p><p>  根據(jù)賓館的具體情況,系統(tǒng)的主要功能包括:</p><p><b>  用戶功能 :</b></p><p>  注冊功能:注冊、登錄、退出、個人管理</p><p>  圖書選購:

17、瀏覽圖書、購物車得管理</p><p>  訂單的管理:查看訂單、修改訂單、撤銷訂單</p><p><b>  管理員功能:</b></p><p><b>  登錄</b></p><p>  用戶管理:刪除用戶、查詢用戶</p><p>  圖書管理:添加圖書、刪除圖書

18、、修改圖書、查詢圖書</p><p>  訂單管理:查詢訂單、確認(rèn)訂單、刪除訂單</p><p><b>  2.1 用例圖</b></p><p><b>  管理者用例:</b></p><p>  1.登錄:管理員登錄。</p><p>  圖表 a.1管理者登錄用例圖

19、</p><p>  2.訂單管理:包括對訂單的增加刪除以及查詢訂單功能。</p><p>  圖表 a.2管理者對訂單管理用例圖</p><p>  3.圖書管理:對圖書的查詢(通過年份、書名、作者查詢)、刪除、添加以及對圖書的修改。</p><p>  圖表 a.3管理者對圖書管理用例圖</p><p>  .4.

20、用戶管理:對用戶的查詢,刪除用戶。</p><p>  圖表 a.4管理者對用戶管理用例圖</p><p><b>  客戶用例圖</b></p><p>  1.登錄:用戶登錄。</p><p>  圖表 b.1客戶登錄用例圖</p><p>  2.訂單管理:讓用戶可以對自己訂單進(jìn)行查看、撤銷

21、、訂單的查詢、訂單的日期查詢、修改訂單等等。</p><p>  圖表 b.2客戶對訂單管理用例圖</p><p>  3.圖書選購:通過劉丹圖書的信息,當(dāng)需要購買時創(chuàng)建購物車,通過購物車來進(jìn)行對圖書進(jìn)行瀏覽、刪除以及訂單的生成和數(shù)量的修改等等。</p><p>  圖表 b.3客戶圖書選購用例圖</p><p>  4.注冊:用戶的注冊。&

22、lt;/p><p>  圖表b.4客戶注冊用例圖</p><p><b>  2.2 類圖</b></p><p>  系統(tǒng)采用MVC三層架構(gòu),另將數(shù)據(jù)庫操作提取為單獨(dú)一層。</p><p>  視圖層:控制用戶界面,及用戶與系統(tǒng)的交互,此處省略。</p><p>  控制器層:控制具體業(yè)務(wù)。<

23、/p><p>  PersonRrcControl:控制管理員及前臺人員。</p><p>  UserAction:用戶進(jìn)行對網(wǎng)頁的瀏覽以及對圖書的選購。</p><p>  AdminAction:圖書管理者對用戶訂單的處理。</p><p>  圖表 1 控制層類圖</p><p>  業(yè)務(wù)邏輯層: 包括登錄,圖書管

24、理以及訂單處理等等。</p><p>  圖表 2 業(yè)務(wù)邏輯層類圖</p><p>  持久層:控制數(shù)據(jù)庫的增刪查改操作。</p><p>  圖表 3 持久層類圖</p><p>  系統(tǒng)中用到的所有模型類圖如下:</p><p>  Manager:系統(tǒng)管理員,字段包括管理者得等級。</p><

25、p>  User:用戶,字段包括用戶身份姓名、密碼。</p><p>  Order:訂單,字段包括訂單號、訂單人的姓名、訂單的花費(fèi)、訂購人的手機(jī)號、訂單的日期、訂單的狀態(tài)。</p><p>  Book:圖書信息,字段包括圖書號、圖書名、作者名、圖書價錢、圖書的類型、圖書的簡介、圖書的出版日期。</p><p><b>  圖表 4 模型類圖<

26、;/b></p><p><b>  2.3 順序圖</b></p><p><b>  管理者進(jìn)行登錄:</b></p><p>  管理者通過進(jìn)行登錄的動作響應(yīng)(LoginAction),并且調(diào)用了登錄服務(wù)函數(shù)(LoginService),通過姓名密碼來對Person類進(jìn)行核對來確定是否成功登錄。</p&g

27、t;<p>  圖表 a 管理者進(jìn)行登錄順序圖</p><p><b>  管理者對圖書管理:</b></p><p>  這個順序圖里,由于功能較多用BookService()函數(shù)來進(jìn)行查詢圖書、刪除圖書、添加圖書、修改圖書等等來進(jìn)行對圖書的管理,最后更行了BookDao。</p><p>  圖表 b 登錄者對圖書管理順序圖&

28、lt;/p><p><b>  用戶訂單處理:</b></p><p>  用戶通過UserAction進(jìn)行對圖書的查找,并且通過OrderService來進(jìn)行對需要的圖書加入購物車,進(jìn)行對圖書的修改等等,最終確定訂單后對OrderDao進(jìn)行結(jié)賬。</p><p>  圖表 c 用戶訂單處理順序圖</p><p><b

29、>  系統(tǒng)總體設(shè)計(jì)</b></p><p><b>  系統(tǒng)模塊圖:</b></p><p><b>  設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)</b></p><p>  用戶表:User(username,password)</p><p>  管理員表:Admin(adminname,admin

30、psw)</p><p>  書籍表:Book(bookid,bookname,bookauthor,price,publish,publishtime,serialnum,info)</p><p>  訂單表:Orders(orderid,username,ordernum,expense,address,phonenum,ordertime);</p><p>

31、;<b>  設(shè)計(jì)人機(jī)交互子系統(tǒng)</b></p><p><b>  管理者登錄頁面:</b></p><p>  管理員添加書籍界面:</p><p><b>  用戶瀏覽圖書頁面</b></p><p><b>  購物車頁面</b></p>

32、;<p><b>  詳細(xì)設(shè)計(jì)</b></p><p><b>  系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  購物車類</b></p><p>  import java.util.*;</p><p>  import com.my.bookstore.mo

33、del.Book</p><p>  public class ShoppingCart</p><p><b>  {</b></p><p>  Map<Book, Integer> itemMap = new HashMap<Book, Integer>();</p><p>  doubl

34、e price = 0;</p><p>  public ShoppingCart()</p><p><b>  {</b></p><p><b>  }</b></p><p>  public void updatePrice()</p><p><b>

35、  {</b></p><p>  price = 0;</p><p>  Iterator<Book> it = itemMap.keySet().iterator();</p><p>  while(it.hasNext()){</p><p>  Book b = it.next();</p>

36、<p>  price = price + b.getPrice();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void addItem(Book book)</p><p><b>  {</b&g

37、t;</p><p>  if(itemMap.containsKey(book)){</p><p>  int num = itemMap.get(book);</p><p>  itemMap.put(book, num + 1);</p><p><b>  } else {</b></p>&l

38、t;p>  itemMap.put(book, 1);</p><p><b>  }</b></p><p>  updatePrice();</p><p><b>  }</b></p><p>  public void removeItem(Book book)</p>

39、<p><b>  {</b></p><p>  itemMap.remove(book);</p><p>  updatePrice();</p><p><b>  }</b></p><p>  public void print()</p><p>&

40、lt;b>  {</b></p><p>  Iterator<Book> it = itemMap.keySet().iterator();</p><p>  while(it.hasNext()){</p><p>  Book b = it.next();</p><p>  System.out.pri

41、ntln(b.getBookname()+":"+itemMap.get(b));</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  購物車Actio

42、n</b></p><p>  public class ShopcartAction extends ActionSupport</p><p><b>  {</b></p><p>  int bookid;</p><p>  String command;</p><p> 

43、 BookService bookService = new BookService();</p><p><b>  @Override</b></p><p>  public String execute() throws Exception</p><p><b>  {</b></p><p&

44、gt;  // TODO Auto-generated method stub</p><p>  /*add item*/</p><p>  HttpSession session = ServletActionContext.getRequest().getSession();</p><p>  if(command.equals("show&qu

45、ot;)){</p><p>  ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;</p><p>  if(cart == null)</p><p><b>  {</b></p><p>  cart = new S

46、hoppingCart();</p><p>  session.setAttribute("cart", cart);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(command.equals("add&q

47、uot;)){</p><p>  ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;</p><p>  if(cart == null)</p><p><b>  {</b></p><p>  cart = new

48、ShoppingCart();</p><p>  cart.addItem(getBookService().getBookById(getBookid()));</p><p>  session.setAttribute("cart", cart);</p><p><b>  } else {</b></p&g

49、t;<p>  cart.addItem(getBookService().getBookById(getBookid()));</p><p>  session.setAttribute("cart", cart);</p><p><b>  }</b></p><p><b>  }</

50、b></p><p>  /*delete item*/</p><p>  if(command.equals("delete")){</p><p>  ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;</p><p&

51、gt;  cart.removeItem(bookService.getBookById(bookid));</p><p><b>  }</b></p><p>  return SUCCESS;</p><p><b>  }</b></p><p><b>  }</b>

52、;</p><p><b>  測試</b></p><p>  測試管理員登錄:Admin</p><p><b>  登錄成功界面</b></p><p><b>  測試管理員添加書籍</b></p><p>  管理員進(jìn)入添加書籍界面,輸入書籍信

53、息。</p><p><b>  2.數(shù)據(jù)庫變化</b></p><p><b>  3.首頁變化</b></p><p>  測試用戶點(diǎn)擊購買按鈕</p><p>  用戶在首頁點(diǎn)擊購買按鈕后進(jìn)入購物車界面,用例中用戶購買了設(shè)計(jì)模式。</p><p>  2.用戶返回首頁繼

54、續(xù)選擇書籍。</p><p>  三、課程設(shè)計(jì)總結(jié)或結(jié)論</p><p>  通過這次課設(shè),我們通過了市場調(diào)研以及從網(wǎng)上收集信息我們知道了JSP網(wǎng)上書店,包括其他類型的網(wǎng)上書店,都是電子商務(wù)的傳統(tǒng)的應(yīng)用。電子商務(wù)是計(jì)算機(jī)網(wǎng)絡(luò)的又一次的革命,旨在通過電子手段建立一種新的經(jīng)濟(jì)次序,它不僅涉及電子技術(shù)和商業(yè)交易本身,而且涉及到諸如金融、稅務(wù)、教育等社會其他層面。從微觀角度說,電子商務(wù)是指各種具有

55、商業(yè)活動能力的實(shí)體(生產(chǎn)企業(yè)、商貿(mào)企業(yè)、金融機(jī)構(gòu)、政府機(jī)構(gòu)、個人消費(fèi)等)利用網(wǎng)絡(luò)和先進(jìn)的數(shù)字化傳媒技術(shù)進(jìn)行的各項(xiàng)商業(yè)貿(mào)易活動,這里要強(qiáng)調(diào)兩點(diǎn):一是活動要有商業(yè)背景;一是網(wǎng)絡(luò)化和數(shù)字化。這讓我們深深的了解到了做開發(fā)之前對這項(xiàng)開發(fā)的背景了解的重要性,只有通過對背景的深刻了解,我們才能保證開發(fā)之后有一定的市場。特別是通過一定人數(shù)的市場的調(diào)研,只要充分了解到了大多數(shù)人的具體需求才能夠?qū)唧w的設(shè)計(jì)進(jìn)行正確的建模。</p><p

56、>  在開發(fā)設(shè)計(jì)的過程中,曾經(jīng)出現(xiàn)了一些問題,通過和同學(xué)交流以及網(wǎng)上搜索信息,都已經(jīng)解決,實(shí)現(xiàn)了最終的目標(biāo)。在進(jìn)行編碼之前,對于需求分析很重要,我們通過對網(wǎng)絡(luò)充分的收集信息,進(jìn)而對模塊劃分做了充分的討論。雖然前期出來一些模塊構(gòu)建的分歧,但是我們后來積極基于客戶的方面把意見達(dá)成了統(tǒng)一。在畫類圖、用例圖以及順序圖都是基于現(xiàn)實(shí)客戶以及管理的需要,進(jìn)行符合實(shí)際的畫圖,花費(fèi)了很長時間對其設(shè)計(jì)。明白了開發(fā)編碼不是全部,前面的設(shè)計(jì)也是非常耗時耗

57、力,需要我們積極參與和注重分析。</p><p>  在開發(fā)的過程中,也曾經(jīng)感覺到代碼的凌亂復(fù)雜沒有規(guī)律。在對書中內(nèi)容進(jìn)行系統(tǒng)地了解后,終于明白采用三層架構(gòu)的技術(shù),并且使用打包的方法和頭文件的提取,確保了代碼的簡潔明快,并提高了代碼的可重用行。整個開發(fā)過程,努力貼近軟件工程的思想,通過前期可行性分析,需求分析,進(jìn)入到概要設(shè)計(jì),然后總體詳細(xì)設(shè)計(jì),最后代碼產(chǎn)生后,亦進(jìn)行白盒測試。這個過程中,積極學(xué)習(xí),盡量做到舉一反三

58、,一小見大,在JSP+JAVA開發(fā)過程中,了解掌握了JAVA的基本構(gòu)架和設(shè)計(jì)思想,開發(fā)流程。到目前為止,已經(jīng)明晰了JAVA的總體思想。在未來的時間里,詳細(xì)這次課設(shè)打下了基礎(chǔ),能讓我們進(jìn)一步對JAVA和JSP編程有了進(jìn)一步的提升。</p><p><b>  四、參考文獻(xiàn)</b></p><p>  作者1鄭人杰,作者2 馬素霞, 作者3殷人昆 書 名: 軟件工

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論