基于Android技術(shù)的網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ——畢業(yè)論文
《基于Android技術(shù)的網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ——畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于Android技術(shù)的網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ——畢業(yè)論文(29頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、本科畢業(yè)論文(設(shè)計(jì))題 目 基于Android技術(shù)的網(wǎng)上商城系統(tǒng) 的設(shè)計(jì)與實(shí)現(xiàn) 專 業(yè) 軟件工程 作者姓名 學(xué) 號(hào) 單 位 聊城大學(xué) 指導(dǎo)教師 年 月聊城大學(xué)本科畢業(yè)設(shè)計(jì)目 錄前 言11. 緒論11.1 選題意義11.2 研究現(xiàn)狀22. 開發(fā)環(huán)境介紹32.1 Eclipse簡(jiǎn)介32.2 Android簡(jiǎn)介43. 需求分析53.1 需求分系重要性53.2 功能需求63.3 性能需求64. 總體設(shè)計(jì)74.1 總體設(shè)計(jì)重要性74.2 系統(tǒng)架構(gòu)74.3 系統(tǒng)流程85. 詳細(xì)設(shè)計(jì)85.1 資源規(guī)劃85.2 數(shù)據(jù)庫設(shè)計(jì)95.3 界面設(shè)計(jì)106. 功能實(shí)現(xiàn)146.5 提交訂單功能實(shí)現(xiàn)22結(jié)束語23參考文獻(xiàn)2
2、41摘 要隨著電子技術(shù)和互聯(lián)網(wǎng)以及移動(dòng)互聯(lián)網(wǎng)絡(luò)的發(fā)展,電子商務(wù)(Electronic Commerce,EC)已經(jīng)深入到各行各業(yè),而使用電子商務(wù)作為購(gòu)物渠道的人也日漸增多,成為人們購(gòu)物方式的主流,電子商務(wù)購(gòu)物網(wǎng)站便是基于這樣的背景下,應(yīng)用B/S(BROWSER/SERVER)架構(gòu),有效運(yùn)用INTERNET技術(shù)的輔助,開設(shè)網(wǎng)上購(gòu)物平臺(tái),有效的降低運(yùn)營(yíng)成本,提高經(jīng)營(yíng)效益,實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購(gòu)物和在線電子支付的一種新型的商業(yè)運(yùn)營(yíng)模式。Android系統(tǒng)的出現(xiàn),給移動(dòng)互聯(lián)網(wǎng)時(shí)代帶來了新的發(fā)展。為了適應(yīng)現(xiàn)代信息時(shí)代網(wǎng)絡(luò)在線的需求,采用新信息技術(shù),研究設(shè)計(jì)了一個(gè)基于安卓平臺(tái)的購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。它能提供網(wǎng)
3、上購(gòu)物,為用戶提供便利。該方案主要包括后臺(tái)管理功能、Web服務(wù)器、網(wǎng)絡(luò)、Android購(gòu)物前端等部分組成,并采用了JAVA、ANDROID、JSP技術(shù),Mysql數(shù)據(jù)庫,利用Eclipse、TOMCAT、Dreamweaver等開發(fā)環(huán)境以及開發(fā)工具。為客戶提供24小時(shí)方便快捷的在線購(gòu)物服務(wù)。論文主要介紹了本系統(tǒng)的開發(fā)背景,所要完成的功能和開發(fā)的全過程。關(guān)鍵詞:Android;Java;Web服務(wù)器;購(gòu)物商城;Mysql1AbstractWith the development of electronic technology and the Internet and mobile Intern
4、et, e-commerce (Electronic Commerce, EC) has penetrated into all walks of life, and the use of e-commerce as a shopping channel is also increasing, becoming the mainstream shopping, e-commerce Shopping site is based on this background, the application of B / S (BROWSER / SERVER) architecture, the ef
5、fective use of INTERNET technology support, set up online shopping platform, effectively reduce operating costs and improve operating efficiency, to achieve consumer online shopping and Online electronic payment of a new business model.Android system, the emergence of the mobile Internet era has bro
6、ught new development. In order to meet the needs of modern online information network, the use of new information technology, research and design based on Andrews platform shopping system design and implementation. It can provide online shopping, to provide users with convenience. The program mainly
7、 includes background management functions, Web server, network, Android shopping front end and other components, and the use of JAVA, ANDROID, JSP technology, Mysql database, the use of Eclipse, TOMCAT, Dreamweaver development environment and development tools. 24 hours to provide customers with con
8、venient online shopping service. The paper mainly introduces the background of the development of the system, the function and the whole process of development.Key words: Android; Java; Web server; Shopping Mall; Mysql224基于Android技術(shù)的網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)前 言 隨著社會(huì)科技的進(jìn)步,人類知識(shí)總量的增長(zhǎng)不斷加快,以及市場(chǎng)競(jìng)爭(zhēng)的日益激烈,人們對(duì)信息的認(rèn)識(shí)產(chǎn)生了根本性變
9、化?;谝苿?dòng)互聯(lián)網(wǎng)這個(gè)全新的時(shí)代背景,人們?nèi)粘I暇W(wǎng)的主要通道是手機(jī)。移動(dòng)電子商務(wù)未來的發(fā)展?jié)摿κ俏〇|商城、當(dāng)當(dāng)網(wǎng)以及淘寶等電子商務(wù)企業(yè)進(jìn)入這一領(lǐng)域的主要原因。 隨著移動(dòng)通信的發(fā)展及互聯(lián)網(wǎng)向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶對(duì)移動(dòng)終端的要求越來越高,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。Android是一套真正意義上的開放性的移動(dòng)設(shè)備綜合平臺(tái),Android是由 Linux+Java構(gòu)成的開源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā),因此,Android系統(tǒng)將是未來移動(dòng)終端的主流,而基于Android終端的網(wǎng)上購(gòu)物系統(tǒng)也將被廣泛使用。1. 緒論1.1 選題意義對(duì)于普通的智能手機(jī)用戶
10、來說,智能手機(jī)已經(jīng)成為人們生活中的一部分,每天和手機(jī)在一起的時(shí)間,超過任何電子設(shè)備。通過智能手機(jī)的用戶可以不受時(shí)間、空間的限制,隨時(shí)隨地的通過智能手機(jī)在購(gòu)物商城APP上瀏覽商城的所有產(chǎn)品的詳細(xì)信息和商家活動(dòng),比PC端更為方便快捷。手機(jī)購(gòu)物商城的開發(fā)符合了當(dāng)前大環(huán)境下人們?cè)絹碓阶非蟊銛y舒適購(gòu)物體驗(yàn)的需求。對(duì)于手機(jī)網(wǎng)上商城的商家來說,由于智能手機(jī)的的普及范圍不斷擴(kuò)大,越來越多的人通過手機(jī)瀏覽信息,而通過手機(jī)傳播的渠道更是多種多樣,手機(jī)商城APP可以幫助他們快速傳播商城的產(chǎn)品信息以及降低商家的廣告費(fèi)用。商家也能夠更加便捷的查看商城的經(jīng)營(yíng)狀況和商品的銷售信息以便于根據(jù)市場(chǎng)環(huán)境做出及時(shí)的調(diào)整和改變。當(dāng)前
11、主流的電商平臺(tái)如淘寶、京東、蘇寧等來說已經(jīng)都有十分成的熟移動(dòng)商城系統(tǒng),但對(duì)許許多多傳統(tǒng)的中小型企業(yè)來說,他們對(duì)于手機(jī)網(wǎng)上商城發(fā)展沒有那么好的前瞻性,目前仍正處于剛剛投入移動(dòng)電商平臺(tái)的浪潮中。尤其是當(dāng)前Android手機(jī)商城的開發(fā)技術(shù)不斷發(fā)展,成本也在下降更加適合中小型企業(yè)的需求,所以Android的網(wǎng)上商城系統(tǒng)發(fā)展前景在當(dāng)前大環(huán)境下仍然可期。1.2 研究現(xiàn)狀1.2.1 網(wǎng)購(gòu)市場(chǎng)現(xiàn)狀2011-2015年我國(guó)網(wǎng)絡(luò)購(gòu)物用戶規(guī)模持續(xù)增長(zhǎng)。2015年網(wǎng)購(gòu)用戶總規(guī)模達(dá)4.1億人,是2011年的2.1倍,2015年網(wǎng)絡(luò)購(gòu)物用戶規(guī)模增長(zhǎng)率為14.3%。隨著互聯(lián)網(wǎng)的發(fā)展、觸網(wǎng)用戶增加以及網(wǎng)購(gòu)方式的越來越流行,未
12、來網(wǎng)購(gòu)用戶在整體網(wǎng)民中的比例將越來越高。2015年1-12月,PC端日均覆蓋用戶人數(shù)增幅不大,月度日均覆蓋人數(shù)平均值為9810萬人,個(gè)別月份覆蓋人數(shù)呈現(xiàn)較大波動(dòng)。1-12月移動(dòng)端月度日均覆蓋人數(shù)穩(wěn)步增長(zhǎng),月度日均覆蓋人數(shù)平均值為7806萬人,與PC端差距逐漸縮小。2016年Q1季度,中國(guó)網(wǎng)購(gòu)市場(chǎng)整體規(guī)模達(dá)到了9716億元,同比增長(zhǎng)28.3%,遠(yuǎn)超去年同期的7574億元人民幣,而移動(dòng)端網(wǎng)購(gòu)交易額達(dá)到了6593億元,同比激增82.7%,在整體網(wǎng)購(gòu)市場(chǎng)占比達(dá)到將近68%,是PC端的兩倍還多。1.2.2 Android智能手機(jī)現(xiàn)狀在2016年Q1季度,中國(guó)Android智能手機(jī)占市場(chǎng)份額的76.4%之
13、多,而到了2017年,iOS系統(tǒng)今年第一季度在中國(guó)只占12.4%,創(chuàng)2014年來同時(shí)期最低的市場(chǎng)份額。和去年相比,Android系統(tǒng)的市場(chǎng)份額上升至87.2%。然而,在德國(guó)、法國(guó)、西班牙、意大利、英國(guó)這歐洲五國(guó),智能系統(tǒng)的市場(chǎng)份額則有所不同。Android以76.3%的份額稱霸五國(guó)的智能手機(jī)市場(chǎng),而iOS同時(shí)期市場(chǎng)份額增長(zhǎng)至20.7%。但還是能夠看出來Android仍然是當(dāng)前最為主流的智能手機(jī)操作系統(tǒng),而且在很長(zhǎng)一段時(shí)間內(nèi)不會(huì)被超越。2. 開發(fā)環(huán)境介紹2.1 Eclipse簡(jiǎn)介2.1.1Eclipse的起源和發(fā)展IBM的Visual Age是Eclipse的前身。Visual Age認(rèn)識(shí)到存在
14、難以擴(kuò)大,相關(guān)技術(shù)較為脆弱,難以集成與WebSphere Studio軟件等諸多問題,進(jìn)一步發(fā)展是非常困難的整合,同時(shí)也面臨著來自Symantec公司的Visual Caf, Borland公司的JBuilder和其他競(jìng)爭(zhēng)開發(fā)工具的壓力, IBM公司決定創(chuàng)建一個(gè)更加開放,并且可以支持IBM的其他開發(fā)工具成為一體化的開發(fā)平臺(tái)。1998年11月IBM公司成立了專門的項(xiàng)目開發(fā)團(tuán)隊(duì)開始開發(fā)平臺(tái),在2000年的新一代開發(fā)平臺(tái),這是熟悉的Eclipse的誕生。 2000年11月, IBM提出采用開放源碼的Eclipse授權(quán)和釋放的操作模式,以提升業(yè)界的注意力集中在Eclipse和加快其應(yīng)用速度的重大決策。
15、隨后,IBM在2001年12月宣布向外部世界,捐贈(zèng)4000萬美元的源碼的Eclipse開源社區(qū);被Eclipse協(xié)會(huì)( Eclipse的聯(lián)盟)的成員公司成立,以支持和促進(jìn)了Eclipse開源項(xiàng)目。事實(shí)證明, IBM的決定是非常明智的。Eclipse受到廣泛關(guān)注,使得它的用戶絡(luò)繹不絕,下載服務(wù)器被封鎖,回到行業(yè)帶來了震撼! IBM在EclipseCon 2004年宣布成立一個(gè)獨(dú)立的,非盈利性基金,該基,金會(huì)負(fù)責(zé)Eclipse開發(fā)的管理和指導(dǎo),目前其成員多達(dá)100個(gè)知名企業(yè)采用,包括Borland ,理性軟件,紅帽,賽貝斯,谷歌和甲骨文等行業(yè)巨頭。2003年,Eclipse 3.0選擇OSGi服務(wù)
16、平臺(tái)規(guī)范為運(yùn)行時(shí)架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布;2008年6月發(fā)布代號(hào)為Ganymede的3.4版;2009年6月發(fā)布代號(hào)為Galileo的3.5版;2010年6月發(fā)布代號(hào)為Helios的3.6版;2011年6月發(fā)布代號(hào)為Indigo的3.7版;2012年6月發(fā)布代號(hào)為Juno的4.2版;2013年6月發(fā)布代號(hào)為Kepler的4.3版;2014年6月發(fā)布代號(hào)為L(zhǎng)una的4.4版;2015年6月項(xiàng)目發(fā)布代號(hào)為Mars的4.5版。2.1.2Eclipse的優(yōu)勢(shì)現(xiàn)在有成千上萬的人在世界上使用Eclipse進(jìn)行開發(fā)。為什么Eclipse有這么多的受眾?這是與Eclipse設(shè)置許多功能有很大的關(guān)
17、系。Eclipse是開放源代碼軟件。這意味著, Eclipse的不僅是免費(fèi)使用的,除了可以通過學(xué)習(xí)源代碼學(xué)習(xí)世界領(lǐng)先的編程技術(shù)的開發(fā),還可以通過世界各地的開發(fā)人員共享有助于豐富公眾開源庫。Eclipse有著可擴(kuò)展性和可配置性。Eclipse支持多種開發(fā)語言,不僅僅是Java 。Eclipse只是給開發(fā)者一個(gè)最低限度的核心系統(tǒng)功能可擴(kuò)展,插件式架構(gòu)使Eclipse擴(kuò)展點(diǎn),支持多國(guó)語言越好。只要安裝適當(dāng)?shù)恼Z言插件, Eclipse可以支持這樣的開發(fā)語言。目前, Eclipse有支持C / C + + , COBOL , PHP,Perl , Python和其他語言。 (盡管Eclipse是主要是一
18、個(gè)Java開發(fā)環(huán)境,但其體系結(jié)構(gòu)確保了對(duì)其它編程語言的支持) 。Eclipse提供的多平臺(tái)性的支持。開發(fā)人員可以使用他們感覺最舒服和熟悉的平臺(tái),如Windows,Linux和MacOS的,等等。Eclipse其單獨(dú)的圖形工具包,為每個(gè)平臺(tái),這使得應(yīng)用程序具有接近本地操作系統(tǒng)的外觀和更好的性能。2.2 Android簡(jiǎn)介Android是基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),是Google 在2007 年11 月5日公布的手機(jī)系統(tǒng)平臺(tái),早期由Google 開發(fā),后由開放手機(jī)聯(lián)盟(Open Handset Alliance)開發(fā)。它采用軟件堆層(software stack,又名以軟件疊層)的架構(gòu)
19、,主要分為3 部分。低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以Java 作為編寫程序的一部分6。與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級(jí)圖形顯示和上網(wǎng)功能,用戶能夠在手機(jī)上查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等,比iPhone等其他手機(jī)更強(qiáng)調(diào)搜索功能,界面更強(qiáng)大,可以說是一種融入全部Web應(yīng)用的單一平臺(tái)7。其大優(yōu)勢(shì)特色:(1)開放性:在優(yōu)勢(shì)方面,Android平臺(tái)首先就是其開放性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來。 8,9(2)豐富的硬件選擇:這一點(diǎn)還是與Android平臺(tái)的開放性相關(guān),由
20、于Android的開放性,使其硬件的支持較多,故擁有了更多的硬件選擇。(3)不受任何限制的開發(fā)商:Android平臺(tái)提供較廣的平臺(tái)給第三方開發(fā)商,因此不受框架束縛。(4)無縫結(jié)合的Google應(yīng)用:Google公司本身擁有的應(yīng)用能夠完美無縫的與Android平臺(tái)結(jié)合。 根據(jù)系統(tǒng)需要,在數(shù)據(jù)庫的選擇上,選用最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)Mysql,將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性,更有利于系統(tǒng)的開發(fā)。Tomcat是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,占用系統(tǒng)資源少,擴(kuò)展性好,性能穩(wěn)定,是現(xiàn)在比較流行的Web應(yīng)用服務(wù)器,MyEclipse集成了很多eclip
21、se沒有的插件,對(duì)于Web的開發(fā)有很好的幫助。Eclipse 是開發(fā)Android系統(tǒng)的相對(duì)較好,穩(wěn)定的開發(fā)工具。此次Java開發(fā)環(huán)境沿用的是一直很熟悉的JDK1.6,在Android方面用的是1.7版本SDK。電腦完全可以支持本次設(shè)計(jì)的開發(fā)。3. 需求分析3.1 需求分系重要性需求分析是程序設(shè)計(jì)中最關(guān)鍵的一個(gè)步驟,是其它步驟的基礎(chǔ)。其主要任務(wù)是“為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么”。主要確定目標(biāo)系統(tǒng)有哪些功能。在這個(gè)步驟里程序員在用戶那里搜集所有的將要開發(fā)的系統(tǒng)的需求信息,并且把這些信息編寫成為用戶和程序員都可以認(rèn)可的需求說明書。需求分析特別重要。在軟件工程的歷史中,很長(zhǎng)時(shí)間里人們一直認(rèn)為
22、在整個(gè)軟件工程中簡(jiǎn)單一個(gè)步驟就是需求分析,但在隨著時(shí)間的推移,它變成整個(gè)過程中最關(guān)鍵的一個(gè)的觀念被越來越多的人認(rèn)識(shí)到。為了使軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,只有使用軟件需求分析,也才能為后期的軟件開發(fā)奠定了基礎(chǔ)。很多事實(shí)表明,當(dāng)很多失敗的大型應(yīng)用系統(tǒng)在分析原因的時(shí)候,突然會(huì)發(fā)現(xiàn),一切都是失敗的需求分析導(dǎo)致的:不徹底或者不完善的需求分析,歸結(jié)于需求分析的方法使用不當(dāng),使得開發(fā)這需要不停地重復(fù)對(duì)需求進(jìn)行分析,也使得設(shè)計(jì)、編碼、測(cè)試等環(huán)節(jié)無法順利進(jìn)行下去;客戶和我們配合不好,導(dǎo)致客戶對(duì)需求認(rèn)知不明,客戶不斷變化的需求,同樣無法順利進(jìn)行設(shè)計(jì)、編碼、測(cè)試等環(huán)節(jié)。軟件的需求分析是軟件
23、開發(fā)前的第一個(gè)階段,也是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟,在整個(gè)軟件開發(fā)的過程中,可以說這個(gè)階段所要占用的時(shí)間是相當(dāng)大的。如果需求分析做好了,那么在以后的軟件設(shè)計(jì)過程中,可以省去不少的時(shí)間。該街道不是確定系統(tǒng)怎樣的完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也是對(duì)目標(biāo)系統(tǒng)提出完整、正確、清晰、具體的要求。3.2 功能需求通過對(duì)市場(chǎng)的調(diào)研并進(jìn)行分析,了解到了系統(tǒng)的需求。本系統(tǒng)是的基于網(wǎng)絡(luò)購(gòu)物系統(tǒng),管理員通過后臺(tái)進(jìn)行商品管理、類別管理、商鋪管理、訂單管理、用戶管理。前臺(tái)主要功能包括了用戶注冊(cè)、快速瀏覽、用戶登錄,商品查詢,添加購(gòu)物車,提交訂單,購(gòu)物車管理等功能。3.3 性能需求好的架構(gòu)設(shè)計(jì)應(yīng)該具有
24、以下幾點(diǎn):第一點(diǎn),良好的模塊化。每個(gè)模塊職責(zé)明晰,模塊之間低耦合,模塊內(nèi)部高聚合并合理地實(shí)現(xiàn)信息隱藏;第二,適應(yīng)功能需求的變化,適應(yīng)技術(shù)的變化。應(yīng)該保持應(yīng)用相關(guān)模塊和領(lǐng)域通用模塊的分離;第三,對(duì)數(shù)據(jù)的良好規(guī)劃;第四,明確靈活的部署規(guī)劃。對(duì)于普通用戶性能需求的要求就是界面友好,運(yùn)行時(shí)間滿足使用要求,安全性得到安全保證。所以對(duì)于本系統(tǒng)的綜合要求如下:(1)系統(tǒng)應(yīng)建立友好的界面,既要操作簡(jiǎn)單、直觀、靈活,又要易于學(xué)習(xí)掌握;開發(fā)購(gòu)物系統(tǒng)目的是為了用戶能夠方便的進(jìn)行在線購(gòu)物。如果操作復(fù)雜,就失去了推廣價(jià)值。(2)系統(tǒng)在輸入用戶名以及密碼時(shí),應(yīng)具有自動(dòng)識(shí)別的功能,以幫助用戶改正錯(cuò)誤。(3)系統(tǒng)在確定用戶名
25、和密碼后,在正確連接數(shù)據(jù)庫后,首先應(yīng)對(duì)用戶名和密碼進(jìn)行檢驗(yàn),若沒有此用戶名應(yīng)給出相應(yīng)的提示;系統(tǒng)應(yīng)具有界面相互轉(zhuǎn)換的功能,在每一個(gè)模塊之間應(yīng)具有相互轉(zhuǎn)換的功能,而無需用戶退回主界面重新選擇。系統(tǒng)應(yīng)具有良好的安全性。(4)系統(tǒng)可擴(kuò)充、易維護(hù)。系統(tǒng)應(yīng)充分考慮到用戶對(duì)購(gòu)物車的增刪改查等,具備一定的擴(kuò)充能力。4. 總體設(shè)計(jì)4.1 總體設(shè)計(jì)重要性 總體設(shè)計(jì)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。通過這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素程序、文件、數(shù)據(jù)庫、人工過程和文檔等等,但是每個(gè)物理元素仍然處于黑盒子級(jí),這些黑盒子里的具體內(nèi)容將在以后仔細(xì)設(shè)計(jì)??傮w設(shè)計(jì)階段的另一項(xiàng)重要任務(wù)是設(shè)計(jì)軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個(gè)
26、程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。可以在全局高度上進(jìn)行總體設(shè)計(jì),花較少成本,多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu)要在較抽象的層次上進(jìn)行分析和對(duì)比,從中選出最佳方案和最合理的軟件結(jié)構(gòu),從而用較低成本開發(fā)出較高質(zhì)量的軟件系統(tǒng)。4.2 系統(tǒng)架構(gòu)本系統(tǒng)的架構(gòu)主要是Android客戶端通過網(wǎng)絡(luò)通信訪問后臺(tái)服務(wù),后臺(tái)采用JDBC訪問數(shù)據(jù)庫。用戶在Android手機(jī)客戶端進(jìn)行操作如購(gòu)物,發(fā)送訂單等與后臺(tái)數(shù)據(jù)庫進(jìn)行交互時(shí),首先通過移動(dòng)通信網(wǎng)絡(luò),采用HTTP協(xié)議把數(shù)據(jù)傳入后臺(tái)服務(wù)器中。后臺(tái)服務(wù)器通過對(duì)數(shù)據(jù)庫的增、刪、改、查操作。數(shù)據(jù)庫,將數(shù)據(jù)顯示給后臺(tái)服務(wù)器。后臺(tái)服務(wù)器取得數(shù)據(jù)后,將數(shù)據(jù)通過移動(dòng)無線
27、網(wǎng)絡(luò),采用Http協(xié)議返回給客戶端,完成用戶的操作。架構(gòu)圖如表4.1所示:表4.1 系統(tǒng)架構(gòu)數(shù)據(jù)庫后臺(tái)服務(wù)Android客戶端4.3 系統(tǒng)流程在本Android商城系統(tǒng)中,系統(tǒng)流程是這樣的:首先用戶進(jìn)入系統(tǒng)后,需要用戶進(jìn)行登錄或者可以先逛逛本系統(tǒng),然后需要購(gòu)買的時(shí)候再注冊(cè)登錄。用戶登錄后,便進(jìn)入商品的瀏覽界面。用戶可以瀏覽到商品的圖片,價(jià)格,以及簡(jiǎn)單描述等信息。也可以點(diǎn)擊查看詳情,可以對(duì)查單進(jìn)行一個(gè)比較全面的了解。用戶可以根據(jù)自己的喜好。可以通過價(jià)格分類,進(jìn)行商品的查詢。如果是沒有注冊(cè)過賬戶的話需要用戶進(jìn)行注冊(cè)并登錄后才能購(gòu)買商品,注冊(cè)頁面只需要填寫用戶的用戶名、密碼等相關(guān)信息就可以完成注冊(cè)。
28、本系統(tǒng)的流程圖如圖4.2所示: 圖4.2 系統(tǒng)流程5. 詳細(xì)設(shè)計(jì)5.1 資源規(guī)劃資源規(guī)劃的定義一是指確定開展項(xiàng)目活動(dòng)需要何種資源(人力、設(shè)備、材料、資金)以及所需數(shù)量的規(guī)劃。百度百科中還有一個(gè)定義是根據(jù)可持續(xù)發(fā)展的原則,對(duì)資源的開發(fā)利用與保護(hù)方案,作出比選與安排的活動(dòng)過程。資源規(guī)劃是系統(tǒng)資源建設(shè)與開發(fā)利用的基礎(chǔ)和關(guān)鍵。當(dāng)前 ,程序員對(duì)開發(fā)系統(tǒng)資源建設(shè)與開發(fā)利用的重要性已有充分的認(rèn)識(shí) ,并做了大量的工作 ,但對(duì)系統(tǒng)資源規(guī)劃的重要性重視不夠。為了更有效地利用系統(tǒng)資源 ,必須重視和加強(qiáng)對(duì)系統(tǒng)資源的規(guī)劃。這個(gè)商城系統(tǒng)的主要功能可以分為二大類:一是Activity界面的展示設(shè)計(jì);二是通過網(wǎng)絡(luò)訪問服務(wù)器數(shù)
29、據(jù)。Activity界面的展示設(shè)計(jì)是通過設(shè)置各個(gè)界面對(duì)應(yīng)的xml文件來實(shí)現(xiàn)的。而網(wǎng)絡(luò)訪問服務(wù)器數(shù)據(jù),則采用http通訊協(xié)議,請(qǐng)求結(jié)果以拼接字符串的方式返回,在客戶端通過截取字符串獲得返回?cái)?shù)據(jù)。5.2 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。本系統(tǒng)服務(wù)端采用MySQL數(shù)據(jù)庫,在該系統(tǒng)中一共有很多張表,部分表單介紹如下:表5.1 wct_bill表Field NameField TypeSizeNulli
30、dint11NOT NULLgidsvarchar100DEFAULT NULLpircevarchar100DEFAULT NULLuservarchar100DEFAULT NULLuidvarchar100DEFAULT NULLshopvarchar100DEFAULT NULLbillvarchar2000DEFAULT NULLopenidvarchar255DEFAULT NULLndatevarchar255DEFAULT NULLtotalvarchar255DEFAULT NULLwayvarchar50DEFAULT NULLgnamesvarchar500DEFAULT
31、 NULL表5.2 wct_good表Field NameField TypeSizeNullidint10NOT NULLgnamevarchar100DEFAULT NULLpricevarchar10DEFAULT NULLjifenvarchar10DEFAULT NULLnotevarchar500DEFAULT NULLtypevarchar50DEFAULT NULLimgvarchar500DEFAULT NULLcountvarchar10DEFAULT NULLtypeidvarchar10DEFAULT NULLxiaoliangint10DEFAULT NULL表5.3
32、 wct_user表Field NameField TypeSizeNullidint10NOT NULLusernamevarchar50DEFAULT NULLpasswdvarchar50DEFAULT NULLroletypevarchar50DEFAULT NULLemailvarchar200DEFAULT NULLaddressvarchar200DEFAULT NULLtelvarchar50DEFAULT NULLqqvarchar20DEFAULT NULLwechatvarchar20DEFAULT NULLsexvarchar20DEFAULT NULL5.3 界面設(shè)計(jì)
33、界面設(shè)計(jì)是非常重要的,因?yàn)楫a(chǎn)品是給客戶用的而客戶第一次接觸第一眼看到的就是這個(gè)產(chǎn)品是什么樣子的。如果一個(gè)產(chǎn)品你說功能上有多好,多強(qiáng)大而界面上卻很糟糕,給用戶的感覺非常不好,估計(jì)用戶就沒心情再看下去了。所以我們要給用戶一個(gè)好的體驗(yàn),讓用戶第一感覺也覺得是非常不錯(cuò)的。界面與用戶的交互也是非常友好的,用戶才會(huì)繼續(xù)關(guān)注和使用。美總是給人一種愉快的心情,所以每個(gè)產(chǎn)品都必須把界面做好,并且能夠通過一種交互的形式告訴用戶怎么使用。登錄界面:采用對(duì)話框的形式,用戶輸入正確的用戶名和密碼就可以進(jìn)入。并且對(duì)用戶名和密碼進(jìn)行了為空的驗(yàn)證。登錄界面如圖5.1所示: 圖5.1 用戶登錄界面選擇商品列表界面:采用對(duì)話框的
34、形式,進(jìn)入系統(tǒng),首先要選擇一個(gè)想要查看的商品類別列表。其界面如圖如圖5.2所示: 圖5.2 商品列表界面選擇好商品類別后,進(jìn)入商品列表界面,選擇好喜歡的商品。其界面如圖5.3所示:圖5.3 商品選擇界面購(gòu)物車界面:采用對(duì)話框的形式,選擇好相應(yīng)的商品,點(diǎn)擊確定添加到購(gòu)物車。其界面如圖5.4所示:圖5.3 購(gòu)物車訂單界面我的訂單界面。在購(gòu)物車界面完成購(gòu)物,點(diǎn)擊提交訂單按鈕后,點(diǎn)擊【我的訂單】按鈕進(jìn)入我的訂單界面更新菜單界面如圖5.5所示: 圖5.3 我的訂單界面6. 功能實(shí)現(xiàn)6.1 用戶注冊(cè)功能實(shí)現(xiàn)注冊(cè)實(shí)現(xiàn)了用戶注冊(cè)用戶登錄功能,用戶注冊(cè)模塊用來收集用戶的個(gè)人信息包括用戶名、密碼、郵箱地址等信息。
35、我們需要收集哪些用戶信息就可以在注冊(cè)頁面添加對(duì)應(yīng)的Input輸入框,在數(shù)據(jù)庫中增加與之相對(duì)應(yīng)的字段信息,最后再信息處理頁面增加相應(yīng)的寫入數(shù)據(jù)庫字段就可以了。用戶注冊(cè)頁面實(shí)現(xiàn)首先是在注冊(cè)頁面添加一個(gè)注冊(cè)表單,定義若干個(gè)文本包括用戶名、密碼等。實(shí)現(xiàn)代碼如下:function register() var fdata = serializeObject($(#registerform); if($.trim(fdata.username) = | $.trim(fdata.passwd) = | $.trim(fdata.tel) = | $.trim(fdata.address) = ) show
36、Loader(請(qǐng)?zhí)顚懲暾畔?,true); return; if(fdata.tel.length11) showLoader(電話號(hào)碼格式不對(duì)!,true); return; if(fdata.passwd != fdata.passwd2) showLoader(兩次密碼不一致!,true); return; /uplaodImg(function(r) /fdata.img = r; ajaxCallback(checkUser,fdata,function(d) if(d.info = success) ajaxCallback(register,fdata,function(r)
37、if(r.info=success) showLoader(注冊(cè)成功!,true); toLogin(); else showLoader(注冊(cè)失敗請(qǐng)稍候再試!,true); ); else showLoader(用戶名已存在!,true); ); /);6.2 用戶登錄功能實(shí)現(xiàn)這里通過request.getParameter()方法獲取請(qǐng)求參數(shù),調(diào)用商品信息查詢方法,依據(jù)數(shù)據(jù)庫查詢結(jié)果返回評(píng)價(jià)信息,實(shí)現(xiàn)代碼如下:$(function() var uinfo = localStorageuserinfo; var f = localStoragewelcomed; if(f) if(uinfo
38、 & $.trim(uinfo)!=) uinfo = JSON.parse(uinfo); $(#lusername).val(uinfo.username); $(#lpasswd).val(uinfo.passwd); uinfo.remember = 1; login(uinfo); else changePage(welcomepage1,none); $(#welcome1).bind(swipeleft tap,function() changePage(welcomepage2); ); $(#welcome2).bind(swipeleft tap,function() ch
39、angePage(welcomepage3); ); $(#welcome3).bind(swipeleft tap,function() changePage(welcomepage4); ); $(#welcome4).bind(swipeleft tap,function() changePage(welcomepage5); ); $(#welcome5).bind(swipeleft tap,function() changePage(welcomepage6); ); $(#welcome6).bind(swipeleft tap,function() changePage(log
40、inpage); localStoragewelcomed = yes; ););var userinfo = null;function login(uinfo) var fdata = uinfo | serializeObject($(#loginform); if($.trim(fdata.username)= | $.trim(fdata.passwd) = ) showLoader(請(qǐng)輸入用戶名或密碼!,true); return; ajaxCallback(login,fdata,function(data) if(data.info & data.info=fail) show
41、Loader(用戶名或密碼錯(cuò)誤,true); changePage(loginpage); else showLoader(登陸成功!,true); userinfo = data; if(fdata.remember = 1) localStorageuserinfo = JSON.stringify(data); else localStorageuserinfo = ; toMain(); );function logout() userinfo = null; toLogin();6.3 商品查詢功能實(shí)現(xiàn)實(shí)現(xiàn)代碼如下:function toGood(id) var obj = getG
42、oodById(id); focusobj = obj; changePage(goodpage); $(#gname2).text(商品名:+obj.gname); $(#gimg2).attr(src,fileurl+obj.img); $(#gnote2).text(簡(jiǎn)介:+obj.note); $(#gprice2).text(價(jià)格:+obj.price);function getGoodById(id) for(var i=0;igoodlist.length;i+) var good = goodlisti; if(good.id = id) return good; return
43、 null;6.4 購(gòu)物車管理功能實(shí)現(xiàn)function addToCar() var str = localStoragegouwuche; var list = ; if(str) list = JSON.parse(str); list.push(focusobj); localStoragegouwuche = JSON.stringify(list); showLoader(已經(jīng)添加到購(gòu)物車!,true);function showCar() changePage(carspage); carlist();function carlist() var str = localStorag
44、egouwuche; var list = ; if(str) list = JSON.parse(str); $(#cars).refreshShowListView(list);function removeCar(id) var str = localStoragegouwuche; var list = ; var newlist = ; if(str) list = JSON.parse(str); for(var i=0;ilist.length;i+) var obj = listi; if(obj.id = id) continue; newlist.push(obj); lo
45、calStoragegouwuche = JSON.stringify(newlist); $(#cars).refreshShowListView(newlist); function tijiaocar() if(userinfo) changePage(infopage2); $(#iscar2).val(2); else changePage(infopage); $(#iscar).val(2); function tijiaocaruser() var note = $(#infobeizhu2).val(); var str = localStoragegouwuche; var
46、 sids = ; var shopgoods = ; var bills = ; if(str) var list = JSON.parse(str); for(var i=0;ilist.length;i+) var flag = false; var good = listi; for(var n=0;nsids.length;n+) if(sidsn=good.sid) shopgoodsgood.sid.push(good); flag = true; break; if(!flag) shopgoodsgood.sid = ; shopgoodsgood.sid.push(good
47、); sids.push(good.sid); for(var i=0;isids.length;i+) var goodlist = shopgoodssidsi; var gids = ; var gnames = ; var sname = ; var total = 0; var sid = sidsi; var bill = ; bill.uid = userinfo.id; bill.user = userinfo.username; for(var n=0;ngoodlist.length;n+) var good = goodlistn; if(n=0) sname = goo
48、d.shop; gids+=good.id; gnames+=good.gname; else gids+=,+good.id; gnames+=,+good.gname; total+=parseInt(good.price); bill.shop = sname; bill.sid = sid; bill.gids = gids; bill.gnames = gnames; bill.total = total; bill.tel = userinfo.tel; bill.address = userinfo.address; bill.note = note; bills.push(bi
49、ll); if(bills.length) ajaxCallback(saveBills,bills:JSON.stringify(bills),function(data) localStoragegouwuche = ; showTipTimer(訂單提交成功!,function() toMyBill(); ); ); function tijiaocaryouke() var tel = $(#infotel).val(); var address = $(#infoaddress).val(); var note = $(#infobeizhu).val(); if($.trim(te
50、l)= | $.trim(address)=) showLoader(請(qǐng)?zhí)顚戨娫捄偷刂沸畔?,true); return; if(tel.length11) showLoader(請(qǐng)?zhí)顚懻_的電話號(hào)碼!,true); return; var str = localStoragegouwuche; var sids = ; var shopgoods = ; var bills = ; if(str) var list = JSON.parse(str); for(var i=0;ilist.length;i+) var flag = false; var good = listi; for(v
51、ar n=0;nsids.length;n+) if(sidsn=good.sid) shopgoodsgood.sid.push(good); flag = true; break; if(!flag) shopgoodsgood.sid = ; shopgoodsgood.sid.push(good); sids.push(good.sid); for(var i=0;isids.length;i+) var goodlist = shopgoodssidsi; var gids = ; var gnames = ; var sname = ; var total = 0; var sid
52、 = sidsi; var bill = ; bill.uid = ; bill.user = ; for(var n=0;ngoodlist.length;n+) var good = goodlistn; if(n=0) sname = good.shop; gids+=good.id; gnames+=good.gname; else gids+=,+good.id; gnames+=,+good.gname; total+=parseInt(good.price); bill.shop = sname; bill.sid = sid; bill.gids = gids; bill.gnames = gnames; bill.total = total; bill.tel = tel; bill.address = address; bill.note = note; bills.push(bill); if(bills.length)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 正切函數(shù)的圖像和性質(zhì)
- 概念圖高中生物高考復(fù)習(xí)策略(48張PPT)
- 好書推薦——《三毛流浪記》通用課件
- 七年級(jí)數(shù)學(xué)上冊(cè)33解一元一次方程課件新人教版
- 初三化學(xué)生活中常見的鹽
- 兒科護(hù)理技術(shù)操作
- 六年級(jí)古詩詞總復(fù)習(xí)課件
- 新課標(biāo)人教版二年級(jí)語文上冊(cè)25古詩兩首課件
- 類風(fēng)濕性關(guān)節(jié)炎專家講座
- 扁鵲治病課件 (2)
- 深圳茅洲河治理工程底泥疏浚與處置課件
- 高壓變頻器整流變壓器課件
- 修改病句 (4)
- 人教版七年級(jí)上冊(cè)英語-Unit7howmucharethesesocks第一課時(shí)課件
- 目標(biāo)規(guī)劃-xfj111