收藏 分销(赏)

软件综合项目工程网上购物系统专业课程设计.doc

上传人:二*** 文档编号:4533173 上传时间:2024-09-27 格式:DOC 页数:48 大小:2.44MB
下载 相关 举报
软件综合项目工程网上购物系统专业课程设计.doc_第1页
第1页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 软件工程课程设计汇报( - 年 第二学期)课程名称: 软件工程课程设计 题 目: 网上购物系统 院 系:控制和计算机工程学院班 级: 软件1002班 组 号: 组 长: 艾君伟 组 员:陈肖成、汪豪、李崧榕指导老师: 设计周数: 两周 小组成绩: 日期: 年 7月 12日软件工程课程设计任 务 书一、 目标、要求经过软件开发实践训练,深入掌握软件工程方法和技术,提升软件开发实际能力,培养工程设计能力和综合分析、处理问题能力。具体以下:1. 学习和实践在分析和设计计算机应用系统所需要知识,包含面向对象系统分析和设计,编码和测试方面知识;2. 熟悉自动化软件开发工具Rational Rose,并

2、将其利用于软件开发全过程;3. 深入加强和提升软件工程文档编写能力;4. 培养协作能力和团体精神。二、 关键内容1 利用面向对象技术、UML进行网上购物系统需求分析和设计;2 使用Rational Rose作为需求分析和设计建模工具,进行静态建模和动态建模;3 利用对象模型自动生成数据模型,自动建立数据库;4 使用J2EE、HTML、CSS、Javascript语言对购物模块进行界面层设计并给出实现;5 撰写课程设计汇报。三、任务分配任务责任人参与人备注小组讨论:需求分析(用例图、类图)艾俊伟、陈肖成、汪豪、李崧榕用例图绘制、类图绘制、数据流分析、数据库设计汪豪汪豪次序图、系统结构分析、状态图

3、测试陈肖成陈肖成需求分析、编码、具体设计艾君伟艾君伟绘制部分次序图、协作图、汇报处理李崧榕李崧榕四、 进度计划序号设计内容名称完成时间备注1分组及确定题目1个工作日2初步需求分析和设计建模, 确定实现平台,并搭建环境2个工作日3具体需求分析和设计建模2个工作日进行中期检验4关键模块实现和测试3个工作日5编写课程设计汇报1个工作日6验收检验及评定成绩1个工作日五、 设计结果要求1 建立系统分析和设计模型;2 初步建立系统原型,实现关键功效;3 编写课程设计汇报。六、 考评方法1 系统演示及讲解占50%。2 设计汇报占50%。指导老师: 日 期: 6 月 28 日软件工程课程设计 成 绩 评定一、

4、 指导老师评语二、 成绩学号姓名成绩备注艾君伟陈肖成李崧榕汪豪 指导老师: 日期: 年 7 月 12 日摘要:当今社会,伴随计算机应用和Internet普及, Internet网络给人类社会带来了巨大改变,网络在我们生活中几乎无处不在。所以,建立网上物品销售管理系统是时代时尚。因为JSP能够在85%以上服务器上运行,而且JSP技术应用程序比ASP应用程序易于维护和管理。所以,经过采取JSP技术设计开发在线购物系统符合时代时尚、含有主动进步意义。网上购物系统能够实现大家远程逛逛商店和购置商品愿望。本系统功效是实现网上购物,关键包含商品信息管理、购物车订单管理、用户管理、商品评价管理、商品库存管理

5、等模块,关键以对数据库增删改查来实现这些功效。本系统依据模拟现行B2C网站需求而设计,利用Rational Rose、Myeclipse等软件开发工具实现系统分析、设计和实现,最终设计出来系统基础满足能网上购物功效需求。关键词:网上购物,面向对象,Rational Rose,J2EE一、课程设计目标和要求经过软件开发实践训练,深入掌握软件工程方法和技术,提升软件开发实际能力,培养工程设计能力和综合分析、处理问题能力。具体以下:1. 学习和实践在分析和设计计算机应用系统所需要知识,包含面向对象系统分析和设计,编码和测试方面知识;2. 熟悉自动化软件开发工具Rational Rose,并将其利用于

6、软件开发全过程;3. 深入加强和提升软件工程文档编写能力;4. 培养协作能力和团体精神。二、设计正文1 概述1.1 设计课题该系统为网上购物系统。1.2 系统目标调研现在现有网上购物系统,如当当网,亚马逊商城,京东商城等大型电子商务系统,设计出一个更适适用户使用,有更多用户交互,更人性化购物系统。1.3 系统开发和运行环境(1)数据库管理软件:MySQL(2)建模工具:Rational Rose(3)编程工具:MyEclipse、DreamWeaver(4)操作系统:Windows系列、Tomcat系统(5)开发语言:J2EE2 系统需求分析2.1 系统需求概述 关键从用户、管理员两方面进行需

7、求分析。122.12.1.1 用户功效分析:(1)购物车:关键功效包含将商品加入购物车提交订单支付将订单信息存档 (2)个人中心:功效关键包含四部分: 1)查询自己购置商品统计,经过人员id在数据库中查找。 2)商品列表:能够查询用户本人在使用,想购置,和购置过商品。 3)推荐商品:本用例中,推荐商品和新商品经过控制类中方法实现,偏好是商品经过人员个性分析方法实现。 4)商品评价:能够查询自己评论过商品商品信息和评论信息(3)账户管理: 关键包含登录,注册,修改个人资料功效 (4)商品搜索: 1)字节搜索:能够经过商品名称,商品序列号正确搜索 2)分类搜索:经过各个分类进行搜索。2.1.2 管

8、理员功效分析: (1)商品信息管理:功效关键包含四部分: 1)增加商品信息 2)删除商品信息 3)修改商品信息 4)查看商品信息 (2)库存管理:关键功效包含:修改商品存货数量 (3)用户管理: 1)将不良交易次数用户较多用户加入黑名单 2)商品评价管理:将被人气较高书评放入首页推荐书评模块 (4)商品评评管理: 关键功效为将违禁商品评价删除 (5)销量统计: 关键功效包含:查看营业额,查看销售排行,查看利润。2.2 用例图对于整个用例图,外部角色有管理员、一般用户即用户。管理员关键有书籍增、删、改,一般用户信息管理,订单管理。一般用户关键有在线交易、搜索、结算、加入购物车、加入收藏、结算、评

9、价、账户管理等用例。图2.2-1 总用例图用例图图2.2-2 店铺管理用例图图2.2-3 购物用例图关键用例正常事件流和异常事件流描述以下表:用例规格说明:内容管理员注册超级管理员说明内容管理员注册B2C购物系统前提条件超级管理员(最高权限)登录后置条件内容管理员注册成功基础事件流确定B2C购物系统已打开确定超级管理员已登录确定打开注册页面确定用户名输入正确,两次密码相同且正确内容管理员成功注册异常事件流第一异常事件流两次密码不相同第二异常事件流用户名已注用例规格说明:内容管理员登录全部用户说明内容管理员登录B2C购物系统前提条件无后置条件内容管理员登录成功基础事件流确定B2C购物系统登录界面

10、已打开 确定用户名和密码已输入 验证经过用户成功登陆系统异常事件流第一异常事件流用户名或密码错误用例规格说明:新增商品内容管理员说明内容管理员新增一条商品信息前提条件内容管理员已登录,已输入新增商品信息后置条件系统中增加一条商品信息基础事件流确定已输入商品信息增加商品异常事件流第一异常事件流商品信息错误第二异常事件流商品信息已存在用例规格说明:修改商品内容管理员说明内容管理员修改商品信息前提条件内容管理员已登录,修改商品信息存在后置条件系统中修改一条商品信息基础事件流确定商品信息已修改修改商品信息异常事件流第一异常事件流修改信息错误第二异常事件流修改信息无改变第三异常事件流修改信息不存在用例规

11、格说明:删除商品内容管理员说明内容管理员删除一条商品信息前提条件内容管理员已登录,删除商品信息存在后置条件系统中删除一条商品信息基础事件流确定已选择商品信息删除商品异常事件流第一异常事件流删除商品不存在用例规格说明:修改订单内容管理员说明内容管理员修改一条订单信息前提条件内容管理员已登录,修改订单存在后置条件系统中修改一条订单信息基础事件流确定已选择订单信息修改商品异常事件流第一异常事件流要修改订单不存在第二异常事件流修改订单信息错误用例规格说明:取消订单内容管理员说明内容管理员取消一个订单前提条件内容管理员已登录,取消订单存在后置条件系统中一条订单取消基础事件流确定已选择订单信息取消订单异常

12、事件流第一异常事件流要取消订单不存在用例规格说明:退货内容管理员说明管理员管理退货前提条件内容管理员已登录,用户申请符合要求,收到退回来货物,检验完好后置条件用户退货成功基础事件流登录查看退货申请符合退货条件收到退回来货物退货成功异常事件流第一异常事件流未登录第二异常事件流退货申请不存在第三异常事件流商品已过保质期第四异常事件流商品未寄回用例规格说明:用户信息修改内容管理员说明修改用户信息前提条件用户存在,管理员已登录后置条件修改用户信息成功基础事件流选择用户确定修改信息用户信息修改成功异常事件流第一异常事件流管理员未登录第二异常事件流用户不存在第三异常事件流输入信息错误和用户相关用例规格说明

13、用例规格说明:用户注册用户说明用户注册B2C购物系统前提条件无后置条件用户注册成功基础事件流确定打开注册页面确定用户名输入正确,两次密码相同且正确用户注册成功异常事件流第一异常事件流用户名存在第二异常事件流用户名或密码输入错误用例规格说明:用户登录用户说明用户登录B2C购物系统前提条件无后置条件用户登录成功基础事件流确定打开登录页面确定登录名、密码用户注册成功异常事件流第一异常事件流用户名不存在第二异常事件流用户名或密码错误用例规格说明:浏览用户说明用户浏览商品前提条件无后置条件商品页面打开成功基础事件流确定打开链接商品页面打开成功异常事件流第一异常事件流商品已下架用例规格说明:搜索用户说明用

14、户搜索商品前提条件无后置条件显示搜索结果基础事件流确定搜索内容显示搜索结构异常事件流第一异常事件流输入搜索内容错误用例规格说明:加入购物车用户说明用户将商品加入购物车前提条件商品存在,购物车未满后置条件用户注册成功基础事件流确定加入购物车商品和购物车商品成功加入购物车异常事件流第一异常事件流商品已下架第二异常事件流购物车已满用例规格说明:加入收藏用户说明用户将商品加入收藏夹前提条件商品存在,用户已登录,收藏夹未满后置条件商品加入收藏夹成功基础事件流确定加入收藏夹商品和收藏夹商品加入收藏夹成功异常事件流第一异常事件流商品已下架第二异常事件流用户未登录第三异常事件流收藏夹已满用例规格说明:结算用户

15、说明用户对购物车中商品进行结算前提条件用户已登录,购物车中有商品,余额充足后置条件结算成功基础事件流确定结算信息确定余额充足结算成功异常事件流第一异常事件流购物车为空第二异常事件流未登录第三异常事件流余额不足用例规格说明:退货用户说明用户申请退货前提条件购置商品未过保质期,用户已登录后置条件用户退货成功基础事件流登录勾选商品确定未过保质期寄回商品退货成功异常事件流第一异常事件流未登录第二异常事件流商品不存在第三异常事件流商品已过保质期第四异常事件流商品未寄回用例规格说明:用户信息修用户说明修改用户信息前提条件用户已登录后置条件修改用户信息成功基础事件流确定修改信息用户信息修改成功异常事件流第一

16、异常事件流用户未登录第二异常事件流输入信息不正当2.3 类图图2.3-1 类图类描述以下:(1) coustomer用户能够更改自己姓名、密码和其它个人信息,也能够查看自己购物车并在其上添加删除商品,其后对购物车中产品进行结算。用户还能够对订单中已付款商品根据要求进行退货操作。用户还能够发表商品评价和查看商品来自其它人评价。(2) Manager管理员所含有属性并不多,管理员关键实现对商品增、删、改,对用户个人信息管理,对订单处理帮助用户退货。(3) good描述商品对象抽象。商品唯一标识是商品ID,商品还有品名、价格、类型编号、图片、描述、数量、评价。(4) shoppingcart用户购物

17、车类,在用户进行网上浏览和准备交易时,可将商品加入购物车,查看购物车,删除或取消交易。进行交易时会将交易信息入时间、金额、商品列表、优惠方法等统计为购物历史。购物车对象自带了计算优惠方法,同时购物车要统计用户购置商品时运输信息。(5) Order订单统计了订单编号,订单生成时间和用户ID,订单经过一个LIST类型统计了购置商品。类之间关系:Coustomer 和shoppingcart 为聚合关系,manger和order是聚合关系;manger、coustomer类同good类是关联关系,其中coustomer和good关联类是shoppingcart类;shoopingcart和order

18、为关联类。2.4 次序图支付次序图以下图所表示,首先是用户登录系统,然后用户经过界面在商品类中查看到自己想要买商品,然后将商品加入购物车,然后提交订单,支付订单,最终进行存档。图2.4-1 用户支付次序图 图2.4-2 新增商品次序图 图2.4-3 删除商品次序图 图2.4-4 修改商品次序图退货次序图以下图所表示,首先是用户登录系统,然后用户经过界面在订单中查看到自己已买商品,然后申请退货,最终进行退货。2.4-5 用户退货次序图 2.5 协作图依据次序图取得协作图以下:图2.5-1 用户支付协作图图2.5-2 新增商品协作图图2.5-3 删除商品协作图图2.5-4 修改商品协作图图2.5-

19、5 用户退货协作图2.6 状态图 订单状态图。关键包含订单为空状态、订单处理状态、增加完成状态、删除完成状态、修改完成状态,支付订单状态,订单存档状态。图2.6-1 订单状态图3. 系统总体设计3.1 系统体系结构设计3.3 设计数据管理子系统表3.3-1用户表表3.3-2 管理员表表3.3-3商品表表3.3-4订单表表3.3-5商品类型表图3.3-1 数据表关系图3.4 设计人机交互子系统图3.4-1 注册界面图3.4-2 注册成功界面图3.4-3 登陆界面图3.4-4 主页界面图3.4-5 购物车界面图3.4-6 提交订单界面图3.4-7 提交订单成功界面4. 具体设计提醒: 对于复杂方法

20、给出具体设计,能够使用伪代码描述, 也能够使用程序步骤图来描述。 4.1.1商品查询方法 goodsearch()创建一个List类型和标志位flg=false;获取搜索类型If(按名字查询) 获取窗口中关键字; 创建数据库查询语句sql; 创建SQLBean对象bean; Rs=bean.exacuteQuery(sql); Try 将rs中信息存入到List中; Catch(SQLException e) 输出异常信息; If(按分类查询) 获取商品类型; 创建数据库查询语句sql; 创建SQLBean对象bean; Rs=bean.exacuteQuery(sql); Try 将rs中信

21、息存入到List中; Catch(SQLException e) 输出异常信息; 返回List 4.1.2登录界面代码实现package Servlet_Contorlller;/登录public class loginCheck extends HttpServletpublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExceptionrequest.setCharacterEncoding(utf-8);response.setCharac

22、terEncoding(utf-8);PrintWriter out = response.getWriter();response.setContentType(text/html);String username = request.getParameter(username);String password = request.getParameter(password);System.out.println(输入密码: + password);String radio = request.getParameter(logintype);/ username=new String(use

23、rname.getBytes(),gb2312);int reginfo = -1;if (.equals(username) | username = null) reginfo = 4;/ 用户名不能为空System.out.println(用户名为空); else if (radio.equals(0)/ 个人登录String sqlString = select password from customer where username=+ username + ;List list = null;SQLBean search = new SQLBean();try search.ex

24、ecuteQuery(sqlString);System.out.println(sqlString);list = search.getSelectRt();search.close(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();if (list.size() = 0) reginfo = 3;/ 用户不存在response.sendRedirect(index.jsp?reginfo=3); else for (String item : list) if (item.equals(p

25、assword) System.out.println(sadasdsa);reginfo = 1;/ 登录成功HttpSession session = request.getSession(true);session.setAttribute(user, username);response.sendRedirect(pagedivide);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doGet(re

26、quest, response);4.1.3 注册界面代码实现package Servlet_Contorlller;public class registerCheck extends HttpServletpublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExceptionthis.rtcheck(request, response);public void doPost(HttpServletRequest request, HttpS

27、ervletResponse response)throws ServletException, IOException/response.sendRedirect(registerCheck.jsp); this.rtcheck(request, response);public void rtcheck(HttpServletRequest request, HttpServletResponse response)try request.setCharacterEncoding(utf-8); catch (UnsupportedEncodingException e2) / TODO

28、Auto-generated catch blocke2.printStackTrace();response.setCharacterEncoding(utf-8);String name=request.getParameter(cuserid);String password=request.getParameter(cpassword);String tel=request.getParameter(ctel);String email=request.getParameter(cemail);String sex=request.getParameter(select);String

29、 age=request.getParameter(cage);String repeatpassword=request.getParameter(repeatpassword);int reg=0;/0-注册成功 1-注册失败if(.equals(name)|name=null)reg=0;trySystem.out.println(跳转);response.sendRedirect(register.jsp);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.print

30、ln(重定向异常);else if(.equals(password)|password=null)reg=0;tryresponse.sendRedirect(register.jsp);System.out.println(跳转2);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(重定向异常);else if(.equals(tel)|tel=null)reg=0;trySystem.out.println(跳转3);response.sendRedir

31、ect(register.jsp);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(重定向异常);else if(.equals(email)|email=null)reg=0;trySystem.out.println(跳转4);response.sendRedirect(register.jsp);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();Syste

32、m.out.println(重定向异常);else if(.equals(age)|age=null)reg=0;trySystem.out.println(跳转5);response.sendRedirect(register.jsp);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(重定向异常);else if(.equals(repeatpassword)|repeatpassword=null)reg=0;trySystem.out.println(

33、跳转6);response.sendRedirect(register.jsp);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(重定向异常);else if(!repeatpassword.equals(password)reg=0;trySystem.out.println(跳转7);response.sendRedirect(register.jsp);catch (IOException e)/ TODO Auto-generated catch b

34、locke.printStackTrace();System.out.println(重定向异常);else String sqlstr=select username from customer;SQLBean bean=new SQLBean();List list=new ArrayList(); try bean.executeQuery(sqlstr);list=bean.getSelectRt();bean.close(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();System

35、.out.println(数据库查询错误); for(String li:list) if(li.equals(name)reg=1;/用户名反复 try System.out.println(跳转);response.sendRedirect(register.jsp); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();System.out.println(重定向异常); sqlstr=insert into customer(userid,username,password,tel,ema

36、il,sex,age) values(null,+name+,+password+,+tel+,+email+,+sex+,+age+);System.out.println(sqlstr); SQLBean bean2=new SQLBean(); trybean2.executeUpdate(sqlstr);bean2.close();catch (Exception e)/ TODO Auto-generated catch blocke.printStackTrace(); tryresponse.sendRedirect(success.jsp);catch (IOException

37、 e)/ TODO Auto-generated catch blocke.printStackTrace(); 4.1.4 购物车处理代码实现 if(action.equals(buy)/加入购物车 CarBean mycart = (CarBean)session.getAttribute(mycart); if(mycart=null) mycart = new CarBean(); /得到要购置东西ID String gid = request.getParameter(gid); mycart.buy(gid,Integer.parseInt(num); response.sendRedirect(cart.jsp); else if(action.equals(changeNum) String gnum = request.getParameter(

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服