




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目开发技术 购物车项目开发设计与实现购物车项目开发设计与实现 2 目 录 1 项目需求 3 1 1 系统功能需求 3 1 2 开发系统语言需求 3 1 3 开发以及运行环境需求 3 1 4 界面需求 4 1 5 约束条件 4 1 6 UML 设计 4 1 6 1 网上购物参与者 4 1 6 2 系统中的用例 5 2 项目设计 7 2 1 系统功能 7 2 1 1 登录模块 7 2 1 2 购物车模块 7 2 1 3 订单模块 7 2 2 流程图 7 2 2 1 在线购物流程图 7 2 2 2 用户注册流程 7 2 2 3 用户登陆流程 8 2 2 4 购物车流程 9 2 3 数据库设计 10 2 4 系统界面实现 11 2 4 1 登录界面的实现 11 2 4 2 商品列表界面的实现 11 2 4 3 购物车页面显示 12 2 4 4 操作订单界面显示 12 3 面向对象技术实现 14 3 1 系统中的类 14 3 2 数据库类 15 3 3 边界类 15 3 4 控制类 15 4 测试方案 17 4 1 测试方法 17 4 2 系统功能测试用例 17 项目开发总结 19 3 1 项目需求 本次研究选择的开发语言为 Java 该系统基于 B S 架构 用户可以通过浏览器对服务 器使用访问 首先需要实现网上购物的基本功能 显示商品列表 添加商品到购物车 确认 订单 我所研究的重点是对网上购物车的设计与实现模块 1 1 系统功能需求 1 能够完成游客或已注册用户对网上商品列表的浏览 以及对各商品的详细信息的查看 2 能够完成已登陆客户对商品的选购 添加商品到个人购物车 并且对已添加到购物车的 商品进行数量的增加 减少 修改和删除等操作 3 能够通过查看购物车对所选商品进行确定 挑选 确认或修改购物者的联系方式 通过 定单查询对支付费用进行确定 1 2 开发系统语言需求 采用的主要技术是基于服务器端的 JSP Java 的组件 JavaBean 以及网页编程语言 HTML 利用 JavaEE 平台提供的 Web 编程方式 通过 B S 结构方式 实现数据从数据库 到业务处 理 到前台展示 Web 部分采用基于 MVC 模式的 Struts 框架实现 表现层主要用 JSP 与 JavaScript EL 相结实现 控制层采用 ActionServlet 负责处理请求和转发请求 业务逻 辑层使用 JavaBean 实现 并且采用 DAO 设计模式进行数据访问的封装 数据持久层采用 JDBC 技术实现业务层和数据库的交互 设计开发的原则 每层之间都是采用面向接口编程 技术 降低了上层对下层逻辑调用的依赖 该项目体现了低耦合 高内聚的设计思想 服务器 Apache Tomcat 5 27 数据库 MySQL 技术实现 Struts JDBC JavaBean 发集成环境 用 Eclipcse 集成环境进行开发 JavaScript 程序运行环境 Windows XP 或 Windows 7 用于编辑 HTML 文档的字符编辑器或 HTML 文档编辑器 1 3 开发以及运行环境需求 本系统开发的基本环境如表 1 3 1 表 1 1 系统开发环境 项目最低配置 CPU P4 或同型号的 CPU 内存 256M 硬盘40G 以上 显卡Geforce2 以上 4 操作系统 Windows 7 XP 本系统的运行环境如下表 1 3 2 表 1 2 系统运行环境 项目最低配置 CPU P3 或同型号以上的 CPU 内存 128M 硬盘20G 以上 显卡Geforce2 以上 操作系统 Windows 7 XP 1 4 界面需求 界面的原则要求 如方便 简洁 美观 一致等 整个界面要保持友好 简易的风格 1 输入设备 键盘 鼠标 扫描仪 2 输出设备 显示器 打印机 3 显示风格 IE 界面 1 5 约束条件 1 法律 法规和政策方面的限制 首先 尊重 消费者权益保护法 等相关的法律法规 其次 鉴于我国的电子商务交易的法律法规还不完善 还有相当大的一部分交易环节仍依赖 于传统的商品贸易法 2 硬件 软件 运行环境和开发环境方面的条件和限制 对于单机或浏览器版本太老的用户 或是受其他软硬件限制的用户 将无法进入网上商城方 便快捷的进行购买 需更换软硬件资源 1 6 UML 设计 1 6 1 网上购物参与者 图 1 1 参与者 网上购物 5 1 6 2 系统中的用例 图 1 2 系统中的用例 图 1 3 网上购物系统用例包图 6 图 1 4 总用例图 7 2 项目设计 2 1 系统功能 系统主要分为以下几大模块 登录模块 购物车模块 订单模块 各模块实现的功能如下 2 1 1 登录模块 登录模块在区分不同用户的使用权限 加强软件使用安全性和保证数据安全方面起着关键的 作用 使注册用户能快捷的购买商品 2 1 2 购物车模块 添加商品到个人购物车 并且对已添加到购物车的商品进行数量的增加 减少 修改和删除 等操作 2 1 3 订单模块 客户选择商品后产生账单 让消费者能够完成选购 付账一起实现 2 2 流程图 2 2 1 在线购物流程图 此流程图显示用户浏览本网站所进行的操作 用户进入网站浏览商品 选择自己需要的商品 若用户未 注册则跳转到用户注册界面 进行注册 进入购物车 确认订购商品 产生订单 若已登录则直接进入 购物车确认商品 若已注册未登录则直接跳转到登陆界面 登陆后再进行商品的购买操作 其流程如图 所示 图 2 1 用户购物流程图 2 2 2 用户注册流程 点击主页面的用户注册选项后 会弹出一个注册信息页面 用户需要如实填写用户名 密码 E mail 邮编 地址 电话等各项信息 系统进行检测判断该用户的用户名须不少于 两位 用户输入的两次密码均不少于三位且是否一致 然后依次往后判断用户所填写的各项 信息是否符合要求 直到所有信息均正确无误 系统将该用户注册信息写入会员表即 cart user 表并提示用户注册成功 用户登陆后 就可以进行有效的购物了 其流程图如图 所示 浏 览 商 品 选 择 商 品 订 购 商 品 未定义用户 已登录注册用户 未登录注册用户 去 购 物 车 去 收 银 台 提 交 订 单 8 图 2 2 注册功能流程图 2 2 3 用户登陆流程 用户登录 首先要有一个提供用户登录的表单 用户登录的表单应该嵌入整体的结构当 中 在实际的应用中 可以这样设计 如果用户没有登录 则在页面中显示用户登录的选项 用户登录后 则可隐藏用户登录的选项而代之以用户的个人信息管理链接 首先 用户要有一个用户名和密码 商务网站需要很高的稳定性和安全性 因此对用户 名不允许使用恶意的代码作为用户名而使用真实姓名 同时对密码也要求保密 将密码加密 后再存入数据库 另外 还需要用户的性别 地址 E MAIL 邮编 电话号码等 系统确定用户登陆信息无误后会将用户 User 信息存入 JSP 页面 Session 中以便用户进行 后续操作 用户的登陆流程图如图所示 注册入口 用户名验证 密码验证 地址验证 E mail 验证 电话号码验证 注册成功 Y Y Y Y Y N N N N N 9 图 2 3 用户登陆流程图 2 2 4 购物车流程 购物车的具体实现可采用这种形式 定义一个购物车的类 其属性为每一条记录 Item 每条记录 Item 的价格 Cost Item 的 Map 以及若干方法的定义 1 列出商品的列表 使用户能够自由选择所需要的商品 2 当用户在点击 添加到购物车 的链接时 执行如下功能 检查用户购物车类是否存在 如不存在 则建立 并注册这 Session 变量 在有用户购 物车类存在的情况下 检查该类中是否有该商品 如存在 则商品数量相应加 1 如没有该 商品 则将该商品添加到该类中 3 对放入用户购物车的各条记录 Item 可以进行数量的修改 删除及清空购物车等操作 具体流程实现如图所示 图 2 4 购物车流程图 用户登陆入口 用户是否存在 密码是否正确 取得用户信息 将 user 存入 session 中 登陆成功 Y Y N N 购物车 查看购物车 结账吗 下订单 调整商品 Y N 10 2 3 数据库设计 数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表 的结构 此次设计根据数据的大小以及管理的便捷性选择 MySql 作为数据库管理系统 使用数 据管理器创建数据库 按照前面分析的系统 设计出系统数据库中的各个数据表 表 2 1 用户表 字段名描 述类 型长 度可为空主 键 Id客户编号Integer是 Name姓名Varchar32 Password密码Varchar16 Address地址Varchar100 Postcode邮编Varchar10 Email电子邮件Varchar50 HomePhone家庭电话Varchar32是 CellPhone移动电话Varchar32 OfficePhone办公室电话Varchar32是 客户的 Id 也可设置成 Integer 类型值自动生成 为其主键 密码的长度最长可达 16 位 Name 为 Varchar 长度为 16 位 Address PostCode Email 及 Remark 均为 Varchar 型 对 于用户的话号码 考虑到个人的不同情况以及其他一些特殊情况 电话号码均为 Varchar 型 字段 且只有移动电话为 Not Null 表 2 2 商品表 字段名描 述类 型长 度可为空主 键 Id商品编号Integer是 Name商品名Varchar32 Description描述Varchar100是 Price单价Double 商品信息表的主键为 Id 字段 在 MySql 中可设置其值为自动生成 即对数据库操作添 加语句时 可以不管 Id 属性 每次加入一条记录 Id 值自动加 1 Id Name Price 字段均不 能为空 Description 为对该商品的说明 长度为 100 可以为空 表 2 3 订单表 字段名描 述类 型长 度可为空主 键 Id订单编号Integer是 Status状态Integer User Id用户编号Integer Cost总价格Double 订单的主键 Id 为 Integer 型 编号值自动生成 状态字段 Status 设置成 Integer 型 由管理员 设置值为 1 或者 2 1 代表订单未交付即交易未完成 2 代表订单已经下达 交易已经完成 11 即历史信息 Cost 字段是该订单所需价钱 即交易时用户应付商品的费用 不含运费 表 2 4 编号表 字段名描 述类 型长 度可为空主 键 Id条目编号Integer是 Amount价格Double Product Id商品编号Integer Order Id订单编号Integer 条目信息是为了方便管理员和送货工作人员对每一个商品的确定即统计 主键 Id 也是 Integer 类型 自动生成其值 Amount 价格指某一种类商品的单价而并非总价格 这是为了 方便网站后台管理人员 该表查询及修改数据库采用关联 Product Id 和 Order Id 均为 Integer 类型 是分别为了确定其商品和订单号以方便送货 2 4 系统界面实现 界面设置原则要求简单易用 简洁明了 兼容性好 标准 规范 制定界面设计标准规 范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范 首先考虑标准化 在标准化的基础上进行界面的美工设计 其次进一步完善程序的界面设计 对界面进行的优 化不要使界面的操作变得困难 2 4 1 登录界面的实现 该界面是用户登录的界面 用户从此界面登陆 可对商品进行操作 用户要有一个用户 名和密码 商务网站需要很高的稳定性和安全性 因此对用户名不允许使用恶意的代码作为 用户名而使用真实姓名 同时对密码也要求保密 将密码加密后再存入数据库 图 2 5 登陆界面 2 4 2 商品列表界面的实现 该界面显示的是商品列表 用户可在此界面对商品进行浏览 选择自己需要的商品放进购物 车中 若未登录 也可以使用登录键进行登录操作 或使用购物车键进行查看所购商品的操 作 也可以在登录界面进行结账操作 直接跳转到操作账单页面 对所需的商品进行最终的 确定 12 图 2 6 商品列表界面 2 4 3 购物车页面显示 购物车页面是对所购商品的再操作 对所选商品进行删改数量 删除所选商品 若所选商 品不是自己需要的 可以进行删除商品 也可以对商品直接进行清空 每个商品后跟的都是 商品的单价 修改商品数量后 商品的价格变为所购商品的总价 从此页面也可跳转到商品 列表页面继续进行购物 选新的商品添加到购物车中 若是已经购买了所需商品 就可以进 行结账操作 进入账单操作页面 图 2 7 购物车界面 2 4 4 操作订单界面显示 对所选商品进行再确定 对登录用户的资料进行确认 对有改变的资料进行修改 而且 用户资料必须符合一定的格式 若不符合就报错不能进行修改 因此 例如邮政编码必须是 6 位数字 因此必须是输入 6 个数字 输入多或少都是错误修改 无法成功修改 在此使用 的验证是对格式的验证 用户资料进行修改必须符合格式 否则无法修改 修改完成 而且 13 商品确定后就可以进行结账操作 生成一个新的账单 图 2 8 操作订单界面 14 3 面向对象技术实现面向对象技术实现 3 1 系统中的类 MerchandiseList 商品类 属性 TotalCost 商品总价格 方法 AddMerchandise 将 AddToCar 方法中加 入购物车的商品增加到商品列表 DeleteMerchandise 删除列表中某商品 ComputerTotalCost 调用此方法计算商品列表 图 3 1 商品类图 中商品的总价 ModifyMerchndiseLise 修改商品列表的方法 有修改商品数量 删除商品等方法 Order 类 订单类 属性 order date 订单日期 order number 订单号 order status 订单状态 order total 订单总价 salesperson name 售货人员姓名 ship address发送地址 order payment 付款方式 方法 CenerateCustomerAandOraderid 产生 客户账号和订单流水号 GetOrder 取得当前订单信息 NewOrder 声称新订单对象 ModifyOrder 修改 删除当前订单 该方法 由 SelfConfiguactionWindow 或者由用户使用 图 3 2 订单类图 SandarConputerWindow 类 调用 SetOrderSatus 设置订单状态 由 OrderServerWindow 类 的 ModifyOrderStatus 方法调用 GetOrderStatus 取得订单状态 它调用 DateBase 中的 LoadOrder 方法 15 3 2 数据库类 DateBase 类 数据库类 方法 LoadOrder 从数据库中提取订单 被 Order 类中的方法调用 StoreOrder 将订单存入数据库中 被 Order 类中的方法调用 GerNeedContactOrderList 从数据库中提取 需沟通的客户订单表 GetPaidOrderList 从数据库中提取已付款的 订单列表 被 Payment 类调用 图 3 3 数据库类图 GerConmpleteOrderList 从数据库中提取已 发送的订单列表 被 Invoice 调用 3 3 边界类 ShoppingListWindow 类 功能 创建并显示购物清单窗口并可修改购物 清单 方法 DisplayShoppingList 显示商品购物清 单 它将调用 MerchandiseList 类中的属性 获得商品清单 ModifyCar 修改购物车中的商品 它调用 MerchndiseList 更新商品列表 DisplayTotalCost 显示当前选购的商品总 图 3 4 边界类图 值 该值由 merchandiselist 类中的 ConmputeTotalCost 方法计算得到 GotoInputOrderWindow 进入到订单输入窗口 3 4 控制类 QueryStatusWindow 类 功能 创建并显示查询窗口 方法 GetCustmerID 取得用户输入帐号 GetOrderID 取得订单流水号 QueryStatus 客户点查询按钮出发它调用 Order 类的 图 3 5 控制类图 GetOrderStatus 方法取得订单状态 16 DisplayStatus 显示订单状态 DisplayTatalCost 显示当前选购的商品总值 该值由 merchandiselist 类中的 ConmputeTotalCost 方法计算得到 GotoShoppingList 显示购物清单窗口 NextPage 显示下一页商品 图 3 6 控制类图 Payment 类 付款类 属性 payment method 付款方式 date received 接受日期 amount received 接收金额 方法 linkPayment 付款初始化 图 3 7 付款类 SetPaymentStatus 设置付款 修改 Order 类 OrderPament 属性取值 GetPaymentStatus 取得付款状态 从 Order 类 OrderPament 属性取值 VerifyCustomerID 验证客户帐号 被 Customer 类的 Paymoney 方法使用 AcceptPayment 接受客户付款 方法将被修 改 Order 类的 OrderPayment 对象 17 4 测试方案 4 1 测试方法 黑盒测试 Black box Testing 又称为功能测试或数据驱动测试 是把测试对象看作一 个黑盒子 利用黑盒测试法进行动态测试时 需要测试软件产品的功能 不需测试软件产品 的内部结构和处理过程 采用黑盒技术设计测试用例的方法有 等价类划分 边界值分析 错误推测 因果图和 综合策略 黑盒测试注重于测试软件的功能性需求 也即黑盒测试使软件工程师派生出执行程序所 有功能需求的输入条件 黑盒测试并不是白盒测试的替代品 而是用于辅助白盒测试发现其 他类型的错误 黑盒测试试图发现以下类型的错误 功能错误或遗漏 界面错误 数据结构或外部数据库访问错误 性能错误 初始化和终止错误 4 2 系统功能测试用例 表4 1功能测试用例表 功能描述系统登录模块测试 用例目的测试系统登录模块中登录功能是否出错 前提条件数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023六年级数学下册 一 扇形统计图第二课时 选择统计图描述数据说课稿 苏教版
- 9.3 直线、平面垂直的判定与性质说课稿-2025-2026学年中职数学基础模块下册语文版
- 解析卷人教版八年级上册物理物态变化《熔化和凝固》必考点解析试题(详解)
- 2023八年级数学上册 第二章 实数4 估算说课稿 (新版)北师大版
- 多样的职业说课稿-2025-2026学年小学综合实践活动浙科版2023一年级上册-浙科版2023
- 综合企业并购整合服务创新创业项目商业计划书
- 纳米材料灯企业制定与实施新质生产力项目商业计划书
- 2025-2030合成生物学产业发展现状与技术突破路径报告
- 2025-2030合成生物学产业化趋势与未来市场发展机遇研究报告
- 修改付款条款说课稿-2025-2026学年中职专业课-商务英语函电-国际商务-财经商贸大类
- 人工智能技术及应用习题答案题库
- 县中医院妇科重点专科建设汇报
- 坚持人民至上 工会研讨发言
- 美学原理全套教学课件
- 期末复习(课件)新思维英语四年级上册
- 子宫脱垂试题及答案
- GB/T 90.1-2023紧固件验收检查
- 中国政治思想史复习资料
- 2023年度广东省成人高考《英语》(高升本)真题库及答案(单选题型)
- 《中国民间故事》阅读指导课
- LY/T 2501-2015野生动物及其产品的物种鉴定规范
评论
0/150
提交评论