网上商城购物完整系统副本_第1页
网上商城购物完整系统副本_第2页
网上商城购物完整系统副本_第3页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网上商城概要分析&详细设计(软件工程第四小组)1.导言3矚慫润厲钐瘗睞枥庑赖。1.1开发背景3聞創沟燴鐺險爱氇谴净。1.2开发环境配置错误!未定义书签。残骛楼諍锩瀨濟溆塹籟。1.3可行性分析和风险评估 错误!未定义书签。酽锕极額閉镇桧猪訣锥。2.系统设计概述3彈贸摄尔霁毙攬砖卤庑。3.详细设计概述7謀荞抟箧飆鐸怼类蒋薔。4登陆管理模块详细设计7厦礴恳蹒骈時盡继價骚。4.1表现层(UI)管理员登陆页面用户登录页面4.2业务逻辑层(BLL)管理员登陆页面用户登陆页面4.3数据访问层(DAL)管理员登陆页面用户登陆页面7茕桢广鳓鯡选块网羈泪。7鹅娅尽損鹌惨歷茏鴛賴。7籟丛妈羥为贍债蛏练淨。8

2、預頌圣鉉儐歲龈讶骅籴。8渗釤呛俨匀谔鱉调硯錦。8铙誅卧泻噦圣骋贶頂廡。9擁締凤袜备訊顎轮烂蔷。9贓熱俣阃歲匱阊邺镓騷。9坛搏乡囂忏蒌鍥铃氈淚。5.购物车管理模块详细设计9蜡變黲癟報伥铉锚鈰赘。5.1表现层(UI )5.1.1 添力口删除修改下单5.2业务逻辑层(BLL ) 5.2.1 添力口9買鯛鴯譖昙膚遙闫撷凄。9綾镝鯛駕櫬鹕踪韦辚糴。 10驅踬髏彦浃绥譎饴憂锦。 10猫虿驢绘燈鮒诛髅貺庑。 10锹籁饗迳琐筆襖鸥娅薔。 10構氽頑黉碩饨荠龈话骛。 10輒峄陽檉簖疖網儂號泶。删除修改下单5.3数据访问层(DAL )5.3.1 添力口删除修改下单11 尧侧閆繭絳闕绚勵蜆贅。11 识饒鎂錕缢灩筧嚌

3、俨淒。12凍鈹鋨劳臘错痫婦胫籴。12恥諤銪灭萦欢煬鞏鹜錦。12鯊腎鑰诎褳鉀沩懼統庫。12硕癘鄴颃诌攆檸攜驤蔹。12阌擻輳嬪諫迁择植秘騖。12氬嚕躑竄贸恳彈濾颔澩。6.订单管理模块详细设计13釷鹆資贏車贖孙滅獅赘。6.1表现层(UI)订单明细订单处理6.2业务逻辑层(BLL) 订单明细6.2.2 订单处理6.3数据访问层(DAL)订单明细订单处理13怂阐譜鯪迳導嘯畫長凉。13谚辞調担鈧谄动禪泻類。13嘰觐詿缧铴嗫偽純铪锩。13熒绐譏钲鏌觶鷹緇機库。13鶼渍螻偉阅劍鲰腎邏蘞。14纣忧蔣氳頑莶驅藥悯骛。14颖刍莖峽饽亿顿裊赔泷。14濫驂膽閉驟羥闈詔寢賻。14銚銻縵哜鳗鸿锓謎諏涼。1.导言1.1开发背

4、景随便In ternet技术和数据库技术的不断发展,网络服务已经是趋势。同时java技术的应用已经相当成熟和普及,很多大的企业级系统均由java架构起来。所以无论从市场前景考虑还是技术实践上练习,网上商城这个系统是很不错的选择。挤貼綬电麥结鈺贖哓类。1.2开发环境配置操作系统:wi ndows server 2003 数据库:oracle 11g应用程序服务器:tomcat7.0 系统架构:JavaEEMVC1.3可行性分析和风险评估A. 结合自身学习情况和水平问题,此系统可能在一些关键技术,合理架构,数据库设计,系统可扩展性方面存在一些问题。赔荊紳谘侖驟辽輩袜錈。B. 开发系统的时间规划,需

5、要一个合理的安排,力争按时保质达到期望要求C. 在开发过程中遇到问题,影响进度时,需要迅速拿出解决问题的方面,否则可能会半途而废。2系统模块设计2.1模块设计根据网上购物系统的概要设计,本系统按照功能分解,可以分为客户端子系统和管理端子系统。根据页面流的设计,管理端系统分为登陆管理、用户管理、产品管理、类别管 理、订单管理5个模块,客户端系统分为自服务、购物车管理2个模块。它们的关系如图C-1所示,以下将对各个部分分别进行详细设计。塤礙籟馐决穩賽釙冊庫。图C-1 模块设计2.2模块业务设计嗨物车商品械示川户功能安空匕汽码邮箱手机.上次旺录河同j-牛人荒口 C头俚+讯宾炸名 性朋仆:m 地址”呦

6、 吹扶地址卫诫设呂晶仃息-c心上琥疔V七卩)亡石,刪降)j-CZlID_个人交坊倍总壷秆、那I隊爭用0-愿虚岳回对-订单骨理 Y希恥改删臨“ ;I,檯適过 廬矗理做砒I約応:怡吨距丿口里卅论y jP再軾、着;Irl时燉、效果陳销商汕.严品脸宝、 呑荃銷皓 丿Secondpm?1息显黃厂屮苗.置晁忌|按条件捡索" C£品“討亦2.3数据库设计(购枫牟购罠J-CW7D数据库名为shoppingDB,共9张表:(1)、Admin (管理员信息表):主要用来保存管理员的信息。字段名1数据类型长度是否主键描述admIDint8是类别IDadmNameVarchar20否用户名admP

7、asswVarcher20否密码admPermVarcher20否管理权限(2)、Customer (顾客信息表):保存客户信息。字段名数据类型长度是否主键描述cusIDInt8是顾客IDcusPasswVarchar20否密码cusNameVarchar50否顾客名cusHeadVarchar255否头像路径cusAddVarchar40否地址cusEmailVarchar20否邮箱cusTelVarchar11否顾客电话cusSexchar2否顾客性别cusBrithdate否顾客生日(3)、Address (顾客收货地址表):用于保存顾客使用过的地址。字段名数据类型长度是否主键描述cus

8、IDint8是顾客IDaddTelVarchar11是收货人电话addAcqchar2否是否是默认地址addAddVarchar40否收货地址addNameVarchar10否收货人姓名addPosvarchar6否邮编(4)、Favorites (顾客收藏夹):用于保存顾客收藏的商品信息。字段名数据类型长度是否主键描述cusIDint8是顾客IDgooIDvarchar10是商品IDfavTimedatetime否收藏的时间gooPrifloat8否商品现价(5)、Order (订单信息表):保存订单的详细信息。字段名数据类型长度是否主键描述ordDvarchar10是订单编号cusIDIn

9、t8否顾客IDordTimedatetime否下单时间gooIDvarchar10否商品IDgooCouint4否商品数量gooPrifloat8否商品单价ordPrifloat8否总价格ordAddvarchar100否联系地址ordPosvarchar6否邮政编码2.3系统业务总流程图2.3系统总E-R图CUiSiDbHTrnnOrdOleHICAjidfnPtrrldmP>rm3d*m*ermfav limpadrnP&fffl1dm Perm*a dm PermCLHlOadmPtrmaddAddMljnPefrn-DoNampmIDcusT 訐 IadrnfrwmCLK

10、BrrthculDadkfTdAdrnmCiritCinWrefdTirnecmID卜牟cusNjme旦如丹rm(uePktinioussAddgqDCDUCMWBdmPnawcusHcadCirdTelgaaPd册竝1Shopping.Carif4PmcrPrlcusJDSpetiaiGoodsGoodsffloCaj )岸科e电古3. 详细设计概述本系统采用 JSP+JavaBean+Database的3层架构。JSP负责表现,JavaBean负责业务逻辑,Database负责持久保持数据。三层架构(3-tier application)通常意义上的三层架构就是将整个业务应用划分为:表现层

11、(UI )、业务逻辑层(BLL )、数据访问层(DAL )。区分层次的目的即为了“高内聚,低耦 合”的思想。1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的 所见所得。2、业务逻辑层(BLL ):针对具体问题的操作,也可以说是对数据层的操作,对数据 业务逻辑处理。3、数据访问层(DAL ):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。裊樣祕廬廂颤谚鍘芈蔺。4. 登陆管理模块详细设计4.1表现层(UI)管理员登陆页面输入(input)WebRoot/adm in/Adm in Logi n.jsp导向(Forword )登陆成功WebRoo

12、t/admin/Adminlndex.jsp;登陆失败的话留在原页面输出ResultDataSessionDatasession.setAttribute("admin",a);,将管理员存储在Session 中.功能说明进行管理员登陆用户登录页面输入(input)WebRoot/UserLogi n.jsp导向(Forword )登陆成功WebRoot/Index.jsp;登陆失败的话留在原页面输出ResultDataSessionDatasession.setAttribute("user",u);,将用户存储在Session 中.功能说明进行用户登

13、陆4.2业务逻辑层(BLL)管理员登陆页面JavaBeanCom.abc.shoppi ng.user/User.java方法名称publicstaticUser isAdmi n( Stri nguserName,Stri nguserPwd)方法说明判断登录的用户是否是管理员输入参数用户名userName类型(string )密码 userPwd :类型(string )输出参数无事务管理否处理流程:根据用户名和密码查询是否存在这个管理员主要算法说明引用的其他Class出错处理UserNotFoundException, PasswordNotCorrectException用户登陆页面J

14、avaBeanCom.abc.shoppi ng.user/User.java方法名称publicstaticUserisUser(Stri nguserName,StringuserPwd)方法说明判断登录的用户是否存在输入参数用户名 userName类型(string ) 密码 userPwd 类型(string )输出参数无事务管理否处理流程:根据用户名和密码查询是否存在这个用户主要算法说明引用的其他Class出错处理UserNotFoundException, PasswordNotCorrectException4.3数据访问层(DAL管理员登陆页面方法publicstaticUse

15、r isAdmi n( Stri nguserName, Stri nguserPwd)输入参数用户名 userName 密码 userPwd输出参数管理员User描述根据传入的用户名和密码返回是否是管理员User的值SQL脚本"select * from admin where adm inn ame = '"+ userName+ "'"J算法说明用户登陆页面方法publicstaticUserisUser(Stri nguserName,Stri nguserPwd)输入参数用户名 userName密码 userPwd输出参数用户U

16、ser描述根据传入的用户名和密码返回是否是用户User的值SQL脚本"select * from user where user name ='"+ userName +iiih.j算法说明5. 购物车管理模块详细设计5.1表现层(UI)5.1.1 添加输入(input)WebRoot/WebRoot/ShowProducts.jsp导向(Forword)添加后回到购物车页面 WebRoot/WebRoot/Buy.jsp输出ResultDataSessionData如果第一次向购物车添加商品则 sessi on. setAttribute("cart&q

17、uot; , c);功能说明进行购物车条目添加备注:购物车条目包括商品、商品数量。商品是一个实体类,包括许多属性。购物车抽取几 个属性显示。删除输入(input)WebRoot/WebRoot/Buy.jsp导向(Forword)删除后回到购物车页面 WebRoot/WebRoot/Buy.jsp输出ResultDataSessionData功能说明进行购物车条目删除修改输入(input)WebRoot/WebRoot/Buy.jsp导向(Forword)修改后回到购物车页面 WebRoot/WebRoot/Buy.jsp输出ResultDataSessionData功能说明进行购物车条目修改

18、(修改商品数量)下单输入(input)WebRoot/WebRoot/Buy.jsp导向(Forword)如果用户已登录,则跳转到WebRoot/WebRoot/Co nfirm.jsp否则跳转到 WebRoot/WebRoot/UserLogin.jsp输出ResultDataSessionData功能说明确认所要购买的商品然后提交购买信息5.2业务逻辑层(BLL)5.2.1 添加JavaBeancom.abc.shoppi ng.clie nt/Cart.java方法名称public void add(Cartltem ci)方法说明进行购物车条目添加输入参数购物车条目ci( CartIt

19、em 类型)输出参数无事务管理否处理流程:将购物车条条目添加到购物车中主要算法说明引用的其他Class出错处理删除JavaBeancom.abc.shoppi ng.clie nt/Cart.java方法名称public void deleteltemByld(int productId)方法说明进行购物车条目删除输入参数商品id ( int 类型)输出参数无事务管理否处理流程将购物车条条目从购物车中删除主要算法说明引用的其他Class出错处理修改JavaBeancom.abc.shoppi ng.clie nt/Cartltem.java方法名称public void setCo unt(i

20、nt count)方法说明修改购物车条目中商品的数量输入参数商品数量count ( int 类型)输出参数无事务管理否处理流程将购物车条条目中商品的数量赋新值主要算法说明引用的其他Class出错处理下单JavaBeanCom.abc.shoppi ng.user/User.java方法名称publicint buy(Cart c)方法说明下商品订单输入参数购物车类c( Cart类型)输出参数订单号(int类型)事务管理:否处理流程:将购物车中商品添加到数据库主要算法说明引用的其他Class出错处理5.3数据访问层(DAL)5.3.1 添加删除修改下单方法OrderMySQLDAO 类中的 pu

21、blic int add(SalesOrder so)输入参数订单类so输出参数订单号描述根据订单类将订单类和订单项添加到数据库中SQL脚本"in sert into salesorder values (n ull, ?, ?, ? ,?)""in sert into salesitem values (n ull, ?, ?, ?, ?)"算法说明6. 订单管理模块详细设计6.1表现层(UI)订单明细输入(input)WebRoot/admi n/OrderList.jsp导向(Forword)点击"订单明细”链接进入WebRoot/adm

22、in/OrderDetailShow.jsp 页面输出ResultDataSessionData功能说明查看订单的详细信息订单处理输入(input)WebRoot/admi n/OrderList.jsp导向(Forword)点击"订单处理”链接进入WebRoot/admin/OrderModify.jsp 页面输出ResultDataSessionData功能说明修改订单的状态6.2业务逻辑层(BLL)订单明细JavaBeanCom.abc.shoppi ng.order/OrderMySQLDAO.java方法名称public SalesOrder loadByld(int id)方法说明显示订单明细输入参数订单号(int类型)输出参数订单类 SalesOrder事务管理否处理流程:根据订单号列出订单的详细信息主要算法说明引用的其他Class出错处理订单处理JavaBeanCom.abc.shoppi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论