




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、xxxxxxxxxxxx软件工程实践设计任务书姓名专业 班题目电子商城项目系统的开发设计任务开发一个比较完善的基于 Web 的电子商城服务系统,电子商城为客户提供一个既方便 又快捷的购物选择,通过电子商城,用户在家就可以找到自己想要的商品。主要功能包括: 1、前台登陆:提供用户登陆功能。2、购物车:保存用户选购的商品。 3、商品管理:商品的更新和简介。4、订单管理:用户购物订单的发货。 5、后台登陆:会员的管理和操作。 开发工具: MyEclipse Tomcate6.0 Mysql 开发环境: windowsXP JDK6.0时 间 进 度第 1 周( 2012.9.102012.9.14
2、):前两天老师讲解 struts2 的知识。之后自己联系。开始做课 题。第 2 周( 2012.9.172012.9.21 ):熟悉 struts2 框架的知识,在理解的基础下开始做课题,基 本完成注意课题代码。第 3 周( 2012.9.242012.9.28 ):完善课题代码,实现验证,完成报告。原主 始要 资参 料考 与文 献01 Y.Daniel Liang java 语言程序设计基础篇,万波等译 M: 机械工业出版社, 2008.6 02 Y.Daniel Liang java 语言程序设计进阶篇,万波等译 M: 机械工业出版社, 2008.6 03 刘勇 .SQL Server20
3、00 基础教程 M: 清华大学出版社 . 2005.2指导教师签字:电子商城系统摘要本产品名称为电子商城系统,软件需求参照商场的实际业务流程,同时考虑系统产品 化的需求进行设计。本系统作为在线购物,在设计时本着规范、灵活的原则来规划其业务 功能。软件需求参照商场的实际业务流程,同时考虑系统产品化的需求进行设计。本系统 作为在线购物,在设计时本着规范、灵活的原则来规划其业务功能。本系统包括:前台登 陆、购物车、商品管理、订单管理、后台登陆。订单包括订单号、订购的商品信息、会员 基本信息。本产品根据在线购物实际业务开发 ,满足广大 WEB 用户的需求。本系统基于互联网运 行,是基于 WEB 开发模
4、式的 B/S 系统,开发语言为 Java,数据库为 Mysql,服务操作系 统为 Windows server 2003。关键词: 会员; 商品; 订单目录摘 要 1第 1 章 项目分析 1.1.1 问题描述 1.1.2 技术分析 1.1.3 工程进度计划 1.第 2 章 系统分析与设计 2.2.1 系统分析 参与者 32.1.2 用例及用例规约 32.1.3 用例图 42.2 系统设计 42.2.1 顺序图 52.2.2 类图 92.2.3 系统体系结构设计 102.3 数据库设计 .1 E-R 图 122.3.2 关系模式 132.3.3 表的设计 13第 3
5、 章 实现与测试 功能模块 .1 活动图 153.1.2 界面 173.1.3 代码 273.1.4 测试用例 30第 4 章 结束语 3.1.附录 A: 主要源程序 3.5.xxxx :电子商城系统第 1 章 项目分析订单包含会员订购商品的基本信息,会员可以查看自己的订单,管理员可以通过后台 查看所有订单,执行订单的发货。1.1 问题描述订单信息需要保存在数据库中,当需要时可以提取查看。1.2 技术分析针对实现的各个模块的需求,系统定义为 WEB 项目, struts2 构架进行功能的实现。 采用了 JDBC 对数据库的连接操作,中间业务层用 DAO 进行业务的
6、逻辑操作,基础层面 用 JAVABEAN ,前台用 JSP+struts2 完成数据的展现。1.3工程进度计划项目后台开发如表 1.3.1 所示:表 1.3.1 后台模块进度计划模块名称开发时间编码人员后台集成、调试商品管理2所有人员调试时间 为1天会员管理2订单管理2后台登录及注销2项目前台发开计划如表 1.3.2 所示:表 1.3.2 前台模块进度计划模块名称开发时间编码人员后台集成、调试会员注册及资料修改2所有人员调试时间 为 1 天购物车管理2商品列表2订单管理及会员登陆2xxxx :电子商城系统第 2 章 系统分析与设计在互联网环境下的外部市场环境日趋成熟,传统产业的影响不可忽视,但
7、是近些年来 中国使用互联网的人数呈指数上升,这说明互联网市场会有很大的发展空间。随着经济的 发展和人们思想意识的逐渐开放,更多的人加入到买电脑上网的行列。网上购物人群的迅 速扩大,各种网络设施的完善,经济的持续发展及人们生活水平的提高,网上购物已逐渐 成为人们消费的习惯。但是目前国内还没有具有相当规模和专业程度的网上购物企业,国内网络消费群体尚 为到位,网络消费环境尚不完善,与传统购物环境相比,网上购物的售后服务,质量保障 等方面仍让消费者不放心。但正是这些不健全不完善为网上购物提供了较大的发展空间。在开发技术上更是没有任何问题的, 任何成熟的 Web 应用开发技术都可用开发网上购 物网站。J
8、2EE规范的补充框架 struts 就为开发网上商城这样的项目提供了较好的技术支持, 基于 struts 框架可以使我们的项目易扩展,易维护,同时提供了较好的安全性。随着国内网络产业的反战和网络法律法规的健全,网络商城必然成为主流的消费方 式。众多厂家也会认识到网上商城将会为他们带来无可比拟的益处, 可以为企业降低成本, 提高利润,同时简化管理。不管从市场需求还是技术支持,网上商城这样的项目都是可行的。2.1 系统分析通过分析我们可以得知用户对目标软件系统在功能、行为、性能、设计约束等方面的 期望,从而有助于我们开发出用户满意的产品。前台用户需求分析, 用户除了可以查询商品的所有基本信息 (如
9、商品名价格及有关商品 信息描述 )。用户可以进行购物, 查看购物车及查看订单的操作。用户需要登录和注册个人 账户,同时可以修改个人信息。要求数据的安全性,完整性。要有安全保密、上下级数据一致性功能,要采用严格的 用户权限管理。各单位只能拥有自己相应的操作权限,不可越权操作。各单位只可操作本 单位的数据,不可修改甚至浏览其他单位的数据。后台管理员需求分析,管理员需要对商品进行设置包括查看、删除、添加、修改等操 作。管理员能对会员信息进行查看和冻结,对订单信息能够进行查看、出货,对数据的安 全性和完整性有着严格的要求。xxxx :电子商城系统2.1.1 参与者张云飞,沈丹蕊,赵芬,赵瑞碟。2.1.
10、2 用例及用例规约用例的概要描述如下表 所示表 用例主要参与者优先级用例名用例概述会员高商品信息 ( Goods List)会员浏览所有商品列表。高商品详细 ( Goods Detail )会员在商品详细页面上获得商品的详细信息。高顾客注册 ( Register User)顾客输入注册信息,成为网站会员。高修改信息 ( Update User Info )会员修改并更新注册信息。高查看订单 ( View Orders )会员查看自己订单。高会员登录系统 ( Login User )会员输入合法的用户名和密码登录系统。高商品放入购物车 (Add Goods to
11、Cart)会员能够把商品放入购物车。高编辑购物车 (Edit Cart)会员能够编辑购物车。高下订单 (Make Order )会员能够生成订单并提交。管理员中管理员登录系统 ( Manager Login )管理员能够登录系统。中管理员退出系统 ( Manager Logout )管理员能够退出系统。中管理业务数据 ( Maintain Business Data)管理员能够管理业务数据, 包括对 商品,订单和会员等业务数据的 增、删、改、查操作。低执行订单 ( Execute Order For Goods)管理员能够通过批处理程序完成 同财务系统的交互, 更新订单付款 状态的最新信息。x
12、xxx :电子商城系统2.1.3 用例图系统用例图如下图 所示操作购物车修改资料查询会员修改商品会员执行订单查看订单购买商品查询所有订单删除商品退出冻结会员增加商品登陆管理员查看商品图 系统用例图2.2 系统设计本系统前台采用 Struts2 框架,后台采用 jsp+struts2+JavaBean。本着易用、可靠、实用 性原则, 采用模块化设计, 将系统分解为前后台。 前台有商品列表、 会员注册及资料修改、 购物车管理、订单管理;后台有管理员登录与注销、商品管理、会员管理、订单管理。xxxx :电子商城系统2.2.1 顺序图图 会员注册图 2.
13、2.1.2 会员资料修改5xxxx :电子商城系统图 添加商品图 删除商品6xxxx :电子商城系统图 修改商品图 查询商品详细信息7xxxx :电子商城系统图 查询所有商品信息8xxxx :电子商城系统2.2.2 类图图 设计类图9xxxx :电子商城系统2.2.3 系统体系结构设计用框图形式说明目标系统的模块划分 , 扼要说明每个模块功能。如图 所示:图 系统模块商品列表模块:通过此模块,用户可以查看商品的信息,会员可以登录,登录后可以 订购商品;会员注册与修改模
14、块:用户可以在此处注册成为会员,会员可以修改自己的资料; 购物车管理:会员可以把所要订购的商品放入购物车中,可以修改订购商品的数量, 也可以把购物车清除,当购完物后,可以收银结账;前台订单管理:可以查看自己的订单及订单的详细信息; 后台登录:管理员输入用户名和密码,进入商品管理界面,登录系统后可以注销; 商品管理:管理员可以通过此模块进行商品信息的查看,增加商品,修改商品,删除 商品;会员管理:管理员可以删除会员,可以冻结会员; 后台订单管理:可以查看订单的信息,可以改变订单的状态。2.3数据库设计通过对项目需求和功能需求的分析,整个项目分别设计了。10xxxx :电子商城系统1、表名称: T
15、B_ORDER含义:订单表表 2.3.1字段名称字段类型Null含义示例数据IDINTEGER否,自增主键列1MEMBERIDINTEGER否会员 ID1ORDERCODEVARCHAR2 (20)否订单号200711280001BNUMBERNUMBER否品种数3USERNAMEVARCHAR2 (20)否收件人姓名张峰ADDRESSVARCHAR2 (100)否邮寄地址北京朝阳区POSTCODENUMBER否邮政编码100001TELVARCHAR2 (20)否电AYVARCHAR2 (20)否支付方式积分兑换 / 电子 支付CARRYVARCHAR2 (20)
16、否运送方式EMS 专递方式ORDERDATEDATE否订单日期2007-11-2816:02:33ENFORCECHAR (1)执行1BZVARCHAR2 (200)备注请尽快邮寄2、表名称: TB_ORDER_DETAIL含义:订单明细表表 2.3.2字段名称字段类型Null含义示例数据IDINTEGER否,自增主键列1ORDERIDINTEGER否订单 ID1GOODSIDINTEGER否商品 ID1PRICENUMBER (15,2)否价格228NUMBERSNUMBER否数量111xxxx :电子商城系统2.3.1 E-R 图图 12xxxx :电子商城系统2.3.2 关
17、系模式图 2.3.3 表的设计 根据数据的分析,将数据表定义为 数据库标示符: shop;用户名: root;密码: null 。1、表名称: TB_MEMBER含义:会员表表 字段名称字段类型Null含义示例数据IDINTEGER否,自增主键列1USERNAMEVARCHAR2 (20)否用户名Happy2007TRUENAMEVARCHAR2 (20)否真实姓名张峰PASSWORDVARCHAR2 (40)否密码8888888CITYVARCHAR2 (20)否城市北京ADDRESSVARCHAR2 (100)否地址海淀区知春路POSTCODENUMBER否邮政
18、编码100001CARDNOVARCHAR2 (20)证件号码01508846505845CARDTYPEVARCHAR2 (20)证件类型身份证TELVARCHAR2 (20)否电MAILVARCHAR2 (100)电子邮箱happyFREEZECHAR冻结013xxxx :电子商城系统2、表名称: TB_GOODS含义:商品表表 字段名称字段类型Null含义示例数据IDINTEGER否,自增 s主键列1GOODSNAMEVARCHAR2 (200)否商品名称羽绒服PRICENUMBER (8,2)否原价268PICTUREVARCHAR2 (200
19、)图片1.jpgCREDATEDATE否创建时间2007-10-3016:02:33INTRODUCEVARCHAR2 (4000)详细信息介绍新品羽绒服 ,保 温杀菌3、表名称: TB_ORDER含义:订单表表 字段名称字段类型Null含义示例数据IDINTEGER否,自增主键列1MEMBERIDINTEGER否会员 ID1ORDERCODEVARCHAR2 (20)否订单号200711280001BNUMBERNUMBER否品种数3USERNAMEVARCHAR2 (20)否收件人姓名张峰ADDRESSVARCHAR2 (100)否邮寄地址北京朝阳区POSTCODENUMBE
20、R否邮政编码100001TELVARCHAR2 (20)否电AYVARCHAR2 (20)否支付方式积分兑换 /电子 支付CARRYVARCHAR2 (20)否运送方式EMS 专递方式ORDERDATEDATE否订单日期2007-11-2816:02:33ENFORCECHAR (1)执行1BZVARCHAR2 (200)备注请尽快邮寄4、表名称: TB_ORDER_DETAIL含义:订单明细表表 字段名称字段类型Null含义示例数据IDINTEGER否,自增主键列1ORDERIDINTEGER否订单 ID1GOODSIDINTEGER否商品 ID1P
21、RICENUMBER (15,2)否价格228NUMBERSNUMBER否数量15、表名称: TB_MANAGER含义:管理表表 字段名称字段类型Null含义示例数据IDINTEGER否,自增主键列1MANAGERVARCHAR2 (20)否管理员名AdminPWDVARCHAR2 (40)否密码Admin14xxxx :电子商城系统第 3 章 实现与测试本章是对系统的功能模块的实现与测试的分析。系统前台界面是用JSP+STRUTS2 写的,通过 submit 提交 form 表单来进行数据的校验和网页之间的跳转。对于已有帐号的登 录时要求用户名和密码都不能为空, 否则,不能登录
22、, 页面上出现提示, 并要求再次登录。 对于没有帐号的,可以进行注册,点击注册按钮,进入注册界面,注册的帐号和密码不能 为空,并和数据库的帐号进行比对,不能出现帐号重复的情况。3.1功能模块本模块为后台管理,主要实现管理员对商品的增删改查以及后台的管理。3.1.1 活动图Use Cases目录表 编号Use Case 名称及说明优先级状态1名称:查看订单信息描述: 能够查看订单的详细信息。高Close2名称:执行 描述: 能够执行运送操作。高CloseUse Cases模型图 Use Cases时序图15xxxx :电子商城系统图 活动图来描述关键业务
23、流程及其参与人员图 Use Cases描述 查看订单信息 名称:查看订单信息 参与者:系统管理员 功能描述:查看订单的详细信息。触发事件:需要查看订单的详细信息事件流:管理员点击【订单管理】 ,系统进入订单管理界面点击订单用户名链接,系统进入详细订单信息界面。16xxxx :电子商城系统点击“返回”按钮,系统进入订单管理界面执行名称:执行 参与者:系统管理员功能描述:执行订单的运送操作。触发事件:需要执行订单的运送操作。事件流:管理员点击执行标识,将执行订单的运送操作,刷新订单管理信息3.1.2 界面图 修改会员资料界面 附 java 代码: package we
24、b.action;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import service.MemberService;import com.opensymphony.xwork2.ActionSupport;import dao.LoginActionDao; SuppressWarnings(serial) public class MemberAction extends ActionSupport private String password;p
25、rivate String password1;private String password2; private String pname; public String member() HttpServletRequest request = ServletActionContext.getRequest(); String name = (String)request.getSession().getAttribute(member);17xxxx :电子商城系统if(name != null)MemberService member = new MemberService(); mem
26、ber.memberService(password1,name);return memberAct;elsereturn loginAct;public void validateMember() HttpServletRequest request = ServletActionContext.getRequest(); String name = (String)request.getSession().getAttribute(member); if (password = null | password1 = null | password2 = null) this.addFiel
27、dError(password, 新密码不能为空 );else if(name != null) if (.equals(password.trim() this.addFieldError(password, 请填写原密码 );else if(!password.equals(LoginActionDao.pas(name) this.addFieldError(password, 原密码填写不正确 );else if (.equals(password1.trim() this.addFieldError(password1, 请填写新密码 );else if (.equals(passw
28、ord2.trim() this.addFieldError(password2, 请填写确认密码 );else if(password1 != password2) this.addFieldError(password1, 两次密码输入不一致 );public String getPassword() return password;public void setPassword(String password) 18xxxx :电子商城系统this.password = password;public String getPassword1() return password1;publ
29、ic void setPassword1(String password1) this.password1 = password1;public String getPassword2() return password2;public void setPassword2(String password2) this.password2 = password2;public String getUsername() return username;public void setUsername(String username) this.username = username;public S
30、tring getPassword() return password;public void setPassword(String password) this.password = password;19xxxx :电子商城系统图 修改商品信息界面 附代码: package web.action;import java.util.List; import java.util.Map;import service.BgoodsService;import com.opensymphony.xwork2.ActionSupport; SuppressWarnings(seria
31、l)public class BgoodsAction extends ActionSupport private String id;private String goodsName; private String price; private String introduce; private String amount; SuppressWarnings(unchecked) private List list;private String resInput; public String list() BgoodsService deptService = new BgoodsServi
32、ce(); list = deptService.queryDepts();return bsuccess; public String toSave() return toSave; public String save() BgoodsService goodsService = new BgoodsService();20xxxx :电子商城系统goodsService.saveGoods(goodsName, amount, price, introduce); return saveOk;public String toEdit() BgoodsService goodsServic
33、e = new BgoodsService(); Map map = goodsService.queryDeptById(id);id = (String) map.get(id); goodsName = (String) map.get(goodsname); amount = (String) map.get(amount); price = (String) map.get(price);introduce = (String) map.get(introduce); return toEdit;public String update() BgoodsService goodsSe
34、rvice = new BgoodsService(); goodsService.updateGoods(id, goodsName, amount, price, introduce); return editOk;public String delete() BgoodsService goodsService = new BgoodsService(); goodsService.deleteDeptByiD(id);return delOk;public void validateUpdate() setResInput(bgoodsEdit);if (goodsName.equal
35、s() | price.equals() | introduce.equals()| amount.equals() this.addFieldError(goodsName, 请完善商品信息 ); else try if (Double.valueOf(price) = 0) this.addFieldError(price, 输入的价格不合法 ); catch (Exception e) 21xxxx :电子商城系统this.addFieldError(price, 输入的价格不合法 );try if (Double.valueOf(amount) = 0) this.addFieldEr
36、ror(amount, 输入的数量不合法 ); catch (Exception e) this.addFieldError(amount, 输入的数量不合法 );public void validateSave() setResInput(bgoodsAdd);if (goodsName.equals() | price.equals() | introduce.equals() this.addFieldError(goodsName, 请完善商品信息 ); else try if (Double.valueOf(price) = 0) this.addFieldError(price,
37、输入的价格不合法 ); catch (Exception e) this.addFieldError(price, 输入的价格不合法 );try if (Double.valueOf(amount) 0)s = s.replaceAll(0+?$, );/ 去掉多余的 0s = s.replaceAll(.$, );/ 如最后一位是 . 则去掉return s;public String shopping() HttpServletRequest request = ServletActionContext.getRequest();String name = (String) request
38、.getSession().getAttribute(member);double amountD = Double.valueOf(amount);double amountDouble = Double.valueOf(shoppingAmount);double priceDouble = Double.valueOf(price);double priceAll = amountDouble*priceDouble;if (name != null) if(LoginActionDao.usnGoods(goodsName,name).equals(goodsName) Shoppin
39、gCartService shoppingCartService = new ShoppingCartService(); list = shoppingCartService.queryDepts(name,goodsName);Map map = new HashMap();map = (HashMap)(list.get(0);Double amountYl = Double.valueOf(map.get(amount).toString(); double moneyYl = Double.valueOf(map.get(money).toString();shoppingCartS
40、ervice.updateShoppingGoodsCart(subZeroAndDot(amountYl+amountDoubl e)+),(moneyYl+priceAll)+,name,goodsName);elseShoppingCartService shoppingCartService =new ShoppingCartService();25xxxx :电子商城系统shoppingCartService.shoppingGoods(goodsName,price,shoppingAmount,priceAll+,name); BgoodsService bgoodsServic
41、e = new BgoodsService();bgoodsService.updateGoodsAmount(subZeroAndDot(amountD-amountDouble)+), goodsName);return shoppingSuccess; else return shoppingFile;public void validateShopping() try double shoppingAmountDouble = Double.valueOf(shoppingAmount);double amountDouble = Double.valueOf(amount);doub
42、le c = shoppingAmountDouble - amountDouble;if (c 0) this.addFieldError(shoppingAmount, 输入的数量不合法 ); catch (Exception e) this.addFieldError(shoppingAmount, 请输入一个数字 );public String getGoodsName() return goodsName;public void setGoodsName(String goodsName) this.goodsName = goodsName;public String getPri
43、ce() return price;public void setPrice(String price) this.price = price;26xxxx :电子商城系统public String getIntroduce() return introduce; public void setIntroduce(String introduce) roduce = introduce; public String getAmount() return amount; public void setAmount(String amount) this.amount = amou
44、nt; public String getShoppingAmount() return shoppingAmount;public void setShoppingAmount(String shoppingAmount) this.shoppingAmount = shoppingAmount; public List getList() return list; public void setList(List list) this.list = list; 3.1.3 代码 package service; import java.util.HashMap; import java.util.List; import java.util.Map; import dao.LoginActionDao; public class BgoodsService 27xxxx :电子商城系统SuppressWarnings(unchecked)public List queryDepts() String sql = select * from tb_goods;return LoginActionDao.query(sql, null);public List orderQueryDepts(String goodsname)String sql
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度联合投资建设特色主题酒店经营管理合作协议
- 2025年度城市社区健身中心场地设备租赁管理服务协议
- 2025年航空航天零件精密加工合同范本
- 2025年绿色蔬菜供应链金融质押合同模板
- 2025年绿色环保别墅装修、施工及绿色智能家居系统安装合同
- 2025年度大型变压器租赁与电力系统隐患排查预防合同
- 2025年城市综合体商业空间设计与施工一体化合同
- 2025年智能农业设备采购补充合同协议范本
- 2025新型医疗器械试用及疗效监测合作协议
- 2025年办公楼拆除装修施工与后期运维服务合同范本
- 2025年广西公需科目答案03
- 矿井托管运营方案(3篇)
- 高速公路建设工程施工班组管理规范DB32T 3713-2020
- 《聚碳酸酯合成》课件
- 氢气压缩机的介绍
- 2025年低压电工特种作业理论必背考试题(附答案)
- 全国民用建筑工程设计技术措施节能暖通空调动力
- 强电装修协议书范本
- 中介员工免责协议书
- 2024年安徽省蚌埠市“物业管理及公共服务”等知识考试题库及答案
- 社会主义核心价值观教案 敬业
评论
0/150
提交评论