網(wǎng)上書店- 軟件工程課程設計報告(模板)
-軟件工程課程設計報告( 2021- 2021學年第二學期)課程名稱:軟件工程課程設計 題 目: 網(wǎng)上書店院 系:控制與計算機工程學院班 級: 軟件0801班組 號:組 長: 林仙龍 組 員: 李帆、王浩宇 指導教師:王默玉設計周數(shù):兩周 小組成績:日期:2021 年 7月 8日?軟件工程?課程設計任 務 書一、 目的、要求通過軟件開發(fā)的實踐訓練,進一步掌握軟件工程的方法和技術,提高軟件開發(fā)的實際能力,培養(yǎng)工程設計能力和綜合分析、解決問題的能力。具體如下:1. 學習和實踐在分析和設計計算機應用系統(tǒng)所需要的知識,包括面向對象的系統(tǒng)分析與設計,編碼和測試方面的知識;2. 熟悉自動化的軟件開發(fā)工具Rational Rose,并將其運用于軟件開發(fā)的全過程;3. 進一步加強和提高軟件工程文檔的編寫能力;4. 培養(yǎng)協(xié)作能力和團隊精神。二、 主要內容1 運用面向對象技術、UML及可視化的建模工具完成系統(tǒng)的需求分析與設計。2 使用JAVA語言進展代碼編寫。3 運用MySql進展數(shù)據(jù)存儲,讀取。4 掌握用JSP與Tomcat進展網(wǎng)頁開發(fā)的方法。三、任務分配任務負責人參與人備注. z.-四、 進度方案序號設計內容名稱完成時間備注1分組及確定題目1個工作日2初步的需求分析與設計建模, 確定實現(xiàn)平臺,并搭建環(huán)境2個工作日3詳細的需求分析與設計建模2個工作日進展中期檢查4關鍵模塊的實現(xiàn)與測試3個工作日5編寫課程設計報告1個工作日6驗收檢查及評定成績1個工作日五、 設計成果要求1 建立系統(tǒng)分析與設計模型;2 初步建立系統(tǒng)原型,實現(xiàn)關鍵的功能;3 編寫課程設計報告。六、 考核方式1 系統(tǒng)演示及講解占50%。2 設計報告占50%。指導教師: 日 期: 2011年 6 月 24 日?軟件工程?課程設計成績 評定一、 指導教師評語二、 成績*成績備注指導教師: 日 期: 2021 年 7 月 8 日摘要:隨著網(wǎng)絡信息的開展,網(wǎng)絡在人們生活中的應用越來越廣泛。人們越來越想在最短的時間內購置到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。在電子商務中,網(wǎng)上書店是目前應用最廣、最成功的典范之一。通過它用戶可以在網(wǎng)絡上通過Internet,突破時間和空間的限制而實現(xiàn)網(wǎng)上購書。網(wǎng)上書店的崛起對傳統(tǒng)的圖書流通體系產(chǎn)生了強烈的沖擊,有效地縮短了圖書流通發(fā)行環(huán)節(jié),將廣闊讀者、圖書、出版者、發(fā)行者嚴密地結合在一起,大大提高了圖書流通率。它有著經(jīng)營本錢低、庫存是虛擬的、用戶檢索方便、地域限制少等特點。本系統(tǒng)運用面向對象技術、UML及可視化的建模工具Rational Rose 2007及2003完成系統(tǒng)的需求分析與設計。并且以JSP為主要制作工具,實現(xiàn)了用戶登陸、驗證身份及用戶數(shù)據(jù)的采集、書籍的預覽查詢、對書籍的購置通過購物車實現(xiàn)。關鍵詞:網(wǎng)上書店,面向對象,Rational Rose一、課程設計的目的與要求通過軟件開發(fā)的實踐訓練,使學生進一步掌握軟件工程的方法和技術,提高軟件開發(fā)的實際能力,培養(yǎng)工程設計能力和綜合分析、解決問題的能力。具體如下:1. 學習和實踐在分析和設計計算機應用系統(tǒng)所需要的知識,包括面向對象的系統(tǒng)分析與設計,編碼和測試方面的知識;2. 熟悉自動化的軟件開發(fā)工具Rational Rose,并將其運用于軟件開發(fā)的全過程;3. 進一步加強和提高軟件工程文檔的編寫能力;4. 培養(yǎng)協(xié)作能力和團隊精神。二、設計正文1. 概述1.1 課題描述隨著網(wǎng)絡信息的開展,網(wǎng)絡在人們生活中的應用越來越廣泛。人們越來越想在最短的時間內購置到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。1.2 系統(tǒng)目標網(wǎng)上書店既可以防止書目訂貨的局限和盲目,又可以克制看樣訂貨投入大,費用高,管理難的缺乏,而且網(wǎng)上選擇范圍廣能直觀看樣,可瀏覽內容,可隨時添訂,結算及時,快捷方便,周轉高速。這些優(yōu)勢是其它交易方式難以到達的。圖書網(wǎng)上交易是圖書銷售領域未來開展之必然,也是業(yè)擺脫困境,建立新的流通渠道,繁榮出版,繁榮市場的必由之路。1.3 環(huán)境a) 操作系統(tǒng): Windows 7, Windows *P,Vistab) 使用軟件:代碼編寫:JSP數(shù)據(jù)庫:MYSQL建模工具:Rational Rose文檔編寫:Microsoft Word 2007.c) 開發(fā)語言:JSP,JAVA2. 系統(tǒng)需求分析網(wǎng)上書店是一種高質量,更快捷,更方便的購書方式。網(wǎng)上書店不僅可用于圖書的在線銷售,也有音碟、影碟的在線銷售。而且式的書店對圖書的管理更加合理化,信息化。售書的同時還具有書籍類商品管理、購物車、訂單管理,非常靈活的內容和文章管理功能。根據(jù)賓館的具體情況,系統(tǒng)的主要功能包括:1 用戶功能:(1) 注冊功能:注冊、登錄、退出、個人管理(2) 圖書選購:瀏覽圖書、購物車得管理(3) 訂單的管理:查看訂單、修改訂單、撤銷訂單2 管理員功能:(1) 登錄(2) 用戶管理:刪除用戶、查詢用戶(3) 圖書管理:添加圖書、刪除圖書、修改圖書、查詢圖書(4) 訂單管理:查詢訂單、確認訂單、刪除訂單2.1 用例圖a) 管理者用例:1.登錄:管理員登錄。圖表 a.1管理者登錄用例圖2.訂單管理:包括對訂單的增加刪除以及查詢訂單功能。圖表 a.2管理者對訂單管理用例圖3.圖書管理:對圖書的查詢通過年份、書名、作者查詢、刪除、添加以及對圖書的修改。圖表 a.3管理者對圖書管理用例圖.4.用戶管理:對用戶的查詢,刪除用戶。圖表 a.4管理者對用戶管理用例圖a) 客戶用例圖1.登錄:用戶登錄。圖表 b.1客戶登錄用例圖2.訂單管理:讓用戶可以對自己訂單進展查看、撤銷、訂單的查詢、訂單的日期查詢、修改訂單等等。圖表 b.2客戶對訂單管理用例圖3.圖書選購:通過*丹圖書的信息,當需要購置時創(chuàng)立購物車,通過購物車來進展對圖書進展瀏覽、刪除以及訂單的生成和數(shù)量的修改等等。圖表 b.3客戶圖書選購用例圖4.注冊:用戶的注冊。圖表b.4客戶注冊用例圖2.2 類圖系統(tǒng)采用MVC三層架構,另將數(shù)據(jù)庫操作提取為單獨一層。a) 視圖層:控制用戶界面,及用戶與系統(tǒng)的交互,此處省略。b) 控制器層:控制具體業(yè)務。PersonRrcControl:控制管理員及前臺人員。UserAction:用戶進展對網(wǎng)頁的瀏覽以及對圖書的選購。AdminAction:圖書管理者對用戶訂單的處理。圖表 1 控制層類圖c) 業(yè)務邏輯層: 包括登錄,圖書管理以及訂單處理等等。圖表 2 業(yè)務邏輯層類圖d) 持久層:控制數(shù)據(jù)庫的增刪查改操作。圖表 3 持久層類圖系統(tǒng)中用到的所有模型類圖如下:Manager:系統(tǒng)管理員,字段包括管理者得等級。User:用戶,字段包括用戶身份*、密碼。Order:訂單,字段包括訂單號、訂單人的*、訂單的花費、訂購人的手機號、訂單的日期、訂單的狀態(tài)。Book:圖書信息,字段包括圖書號、圖書名、作者名、圖書價錢、圖書的類型、圖書的簡介、圖書的出版日期。圖表 4 模型類圖2.3順序圖a) 管理者進展登錄:管理者通過進展登錄的動作響應LoginAction,并且調用了登錄效勞函數(shù)LoginService,通過*密碼來對Person類進展核對來確定是否成功登錄。圖表 a 管理者進展登錄順序圖b) 管理者對圖書管理:這個順序圖里,由于功能較多用BookService函數(shù)來進展查詢圖書、刪除圖書、添加圖書、修改圖書等等來進展對圖書的管理,最后更行了BookDao。圖表 b 登錄者對圖書管理順序圖c) 用戶訂單處理:用戶通過UserAction進展對圖書的查找,并且通過OrderService來進展對需要的圖書參加購物車,進展對圖書的修改等等,最終確定訂單后對OrderDao進展結賬。圖表 c 用戶訂單處理順序圖3. 系統(tǒng)總體設計系統(tǒng)模塊圖:網(wǎng)上書店用戶系統(tǒng)管理員系統(tǒng)注冊登錄圖書選購訂單管理注冊登錄退出瀏覽圖書購物車管理選購圖書修改訂單撤銷訂單查看訂單登錄用戶管理圖書管理訂單管理個人管理密碼修改刪除用戶添加圖書刪除圖書修改圖書查詢圖書確認訂單刪除訂單查詢用戶查詢訂單刪除物品修改數(shù)量查看詳細信息查看詳細信息生成訂單1.1 設計數(shù)據(jù)管理子系統(tǒng)用戶表:User(username,password)管理員表:Admin(adminname,adminpsw)書籍表:Book(bookid,bookname,bookauthor,price,publish,publishtime,serialnum,info)訂單表:Orders(orderid,username,ordernum,e*pense,address,phonenum,ordertime);1.2 設計人機交互子系統(tǒng)1) 管理者登錄頁面:2) 管理員添加書籍界面:3) 用戶瀏覽圖書頁面4) 購物車頁面4. 詳細設計訪問首頁點擊購物按鈕進入ShoppingAction檢查Session創(chuàng)立Shopcart添加圖書瀏覽購物車不存在購物車存在5. 系統(tǒng)實現(xiàn)1) 購物車類import java.util.*;imppublic class ShoppingCartMap<Book, Integer> itemMap = new HashMap<Book, Integer>();double price = 0;public ShoppingCart()public void updatePrice()price = 0;Iterator<Book> it = itemMap.keySet().iterator();while(it.hasNe*t()Book b = it.ne*t();price = price + b.getPrice();public void addItem(Book book)if(itemMap.containsKey(book)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<Book> it = itemMap.keySet().iterator();while(it.hasNe*t()Book b = it.ne*t();System.out.println(b.getBookname()+":"+itemMap.get(b);2) 購物車Actionpublic class ShopcartAction e*tends ActionSupportint bookid;String mand;BookService bookService = new BookService();Overridepublic String e*ecute() throws E*ception/ TODO Auto-generated method stub/*add item*/HttpSession session = ServletActionConte*t.getRequest().getSession();if(mand.equals("show")ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;if(cart = null)cart = new ShoppingCart();session.setAttribute("cart", cart);if(mand.equals("add")ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;if(cart = null)cart = new ShoppingCart();cart.addItem(getBookService().getBookById(getBookid();session.setAttribute("cart", cart); else cart.addItem(getBookService().getBookById(getBookid();session.setAttribute("cart", cart);/*delete item*/if(mand.equals("delete")ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;cart.removeItem(bookService.getBookById(bookid);return SUCCESS;6. 測試1) 測試管理員登錄:Admin登錄成功界面2) 測試管理員添加書籍1. 管理員進入添加書籍界面,輸入書籍信息。2.數(shù)據(jù)庫變化3.首頁變化3) 測試用戶點擊購置按鈕1. 用戶在首頁點擊購置按鈕后進入購物車界面,用例中用戶購置了設計模式。2.用戶返回首頁繼續(xù)選擇書籍。三、課程設計總結或結論通過這次課設,我們通過了市場調研以及從網(wǎng)上收集信息我們知道了JSP網(wǎng)上書店,包括其他類型的網(wǎng)上書店,都是電子商務的傳統(tǒng)的應用。電子商務是計算機網(wǎng)絡的又一次的革命,旨在通過電子手段建立一種新的經(jīng)濟次序,它不僅涉及電子技術和商業(yè)交易本身,而且涉及到諸如金融、稅務、教育等社會其他層面。從微觀角度說,電子商務是指各種具有商業(yè)活動能力的實體生產(chǎn)企業(yè)、商貿企業(yè)、金融機構、政府機構、個人消費等利用網(wǎng)絡和先進的數(shù)字化傳媒技術進展的各項商業(yè)貿易活動,這里要強調兩點:一是活動要有商業(yè)背景;一是網(wǎng)絡化和數(shù)字化。這讓我們深深的了解到了做開發(fā)之前對這項開發(fā)的背景了解的重要性,只有通過對背景的深刻了解,我們才能保證開發(fā)之后有一定的市場。特別是通過一定人數(shù)的市場的調研,只要充分了解到了大多數(shù)人的具體需求才能夠對具體的設計進展正確的建模。在開發(fā)設計的過程中,曾經(jīng)出現(xiàn)了一些問題,通過和同學交流以及網(wǎng)上搜索信息,都已經(jīng)解決,實現(xiàn)了最終的目標。在進展編碼之前,對于需求分析很重要,我們通過對網(wǎng)絡充分的收集信息,進而對模塊劃分做了充分的討論。雖然前期出來一些模塊構建的分歧,但是我們后來積極基于客戶的方面把意見達成了統(tǒng)一。在畫類圖、用例圖以及順序圖都是基于現(xiàn)實客戶以及管理的需要,進展符合實際的畫圖,花費了很長時間對其設計。明白了開發(fā)編碼不是全部,前面的設計也是非常耗時耗力,需要我們積極參與和注重分析。在開發(fā)的過程中,也曾經(jīng)感覺到代碼的凌亂復雜沒有規(guī)律。在對書中內容進展系統(tǒng)地了解后,終于明白采用三層架構的技術,并且使用打包的方法和頭文件的提取,確保了代碼的簡潔明快,并提高了代碼的可重用行。整個開發(fā)過程,努力貼近軟件工程的思想,通過前期可行性分析,需求分析,進入到概要設計,然后總體詳細設計,最后代碼產(chǎn)生后,亦進展白盒測試。這個過程中,積極學習,盡量做到舉一反三,一小見大,在開發(fā)過程中,了解掌握了JAVA的根本構架和設計思想,開發(fā)流程。到目前為止,已經(jīng)明晰了JAVA的總體思想。在未來的時間里,詳細這次課設打下了根底,能讓我們進一步對和編程有了進一步的提升。四、參考文獻1 作者1, 作者2. 書名. 出版單位, 版本. 出版日期作者1*人杰,作者2 馬素霞,作者3殷人昆書 名: 軟件工程概論: 機械工業(yè)出版時間: 2021年03月作者1蔡敏,作者2黃炳強 書名:UML 根底與ROSE 建模教程:人民郵電出版日期:2006-01-01附錄設計流程圖、程序、表格、數(shù)據(jù)等. z.