小型购物系统需求分析.doc_第1页
小型购物系统需求分析.doc_第2页
小型购物系统需求分析.doc_第3页
小型购物系统需求分析.doc_第4页
小型购物系统需求分析.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1 引言引言2 1 1 编写目的2 2 综合描述综合描述2 2 1 产品的技术2 2 2 产品的功能5 2 3 开发及运行环境5 3 系统功能需求系统功能需求6 3 1 系统需求分析6 3 2 系统流程图8 4 其他功能需求其他功能需求14 4 1 性能需求14 4 2 开放性要求15 4 3 安全性要求15 5 数据词典数据词典15 5 1 订单 ORDERS 15 5 2 买家 GUEST 15 5 3 商品 SP 16 6 特定问题列表特定问题列表16 1 引言引言 1 1 编写目的编写目的 随着信息化产业越来越发达 人们的生活节奏越来越快 需求越来越多 越来越多的人喜欢上了足不出户的消费方式 因此 网上商城应运而生 本次 课程设计目的主要是开发一套符合生活实际的 B2C 网上商城 其次是为了通过 此次课程设计增加小组成员间的团队合作能力 提高实战水平 强化所学的知 识 掌握更新的技术 2 综合描述综合描述 2 1 产品的技术产品的技术 2 1 1 技术的名称技术的名称 该项目使用 SSH2 框架 jQuery ExtJs MySql 数据库 MyEclipse 开发环境 2 1 2 技术的介绍技术的介绍 1 1 SSHSSH SSH 为 struts spring hibernate 的一个集成框架 是目前较流行的一种 Web 应用程序开源框架 集成 SSH 框架的系统从职责上分为四层 表示层 业务逻辑层 数据持久 层和域模块层 以帮助开发人员在短期内搭建结构清晰 可复用性好 维护方 便的 Web 应用程序 其中使用 Struts 作为系统的整体基础架构 负责 MVC 的分 离 在 Struts 框架的模型部分 利用 Hibernate 框架对持久层提供支持 业务 层用 Spring 支持 具体做法是 用面向对象的分析方法根据需求提出一些模型 将这些模型实现为基本的 Java 对象 然后编写基本的 DAO 接口 并给出 Hibernate 的 DAO 实现 采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数 据库之间的转换和访问 最后由 Spring 完成业务逻辑 系统的基本业务流程是 在表示层中 首先通过 JSP 页面实现交互界面 负责传送请求 Request 和接收响应 Response 然后 Struts 根据配置文件 struts config xml 将 ActionServlet 接收到的 Request 委派给相应的 Action 处理 在业务层中 管理服务组件的 Spring IoC 容器负责向 Action 提供业务 模型 Model 组件和该组件的协作对象数据处理 DAO 组件完成业务逻辑 并提 供事务处理 缓冲池等容器组件以提升系统性能和保证数据的完整性 而在持 久层中 则依赖于 Hibernate 的对象化映射和数据库交互 处理 DAO 组件请求 的数据 并返回处理结果 采用上述开发模型 不仅实现了视图 控制器与模型的彻底分离 而且还 实现了业务逻辑层与持久层的分离 这样无论前端如何变化 模型层只需很少 的改动 并且数据库的变化也不会对前端有所影响 大大提高了系统的可复用 性 而且由于不同层之间耦合度小 有利于团队成员并行工作 大大提高了开 发效率 2 2 S St tr ru ut ts s Struts 对 Model View 和 Controller 都提供了对应的组件 ActionServlet 这个类是 Struts 的核心控制器 负责拦截来自用户的请 求 Action 这个类通常由用户提供 该控制器负责接收来自 ActionServlet 的请求 并根据该请求调用模型的业务逻辑方法处理请求 并将处理结果返回 给 JSP 页面显示 Model 部分 由 ActionForm 和 JavaBean 组成 其中 ActionForm 用于封装用户的请求 参数 封装成 ActionForm 对象 该对象被 ActionServlet 转发给 Action Action 根据 ActionFrom 里面的请求参数处理用户的请求 JavaBean 则封装了底层的业务逻辑 包括数据库访问等 View 部分 该部分采用 JSP 或 HTML PHP 实现 Struts 提供了丰富的标签库 通过标签库可以减少脚本的使用 自定义 的标签库可以实现与 Model 的有效交互 并增加了现实功能 对应上图的 JSP 部分 Controller 组件 Controller 组件有两个部分组成 系统核心控制器 业务逻辑控制器 系统核心控制器 对应上图的 ActionServlet 该控制器由 Struts 框架提 供 继承 HttpServlet 类 因此可以配置成标注的 Servlet 该控制器负责拦截 所有的 HTTP 请求 然后根据用户请求决定是否要转给业务逻辑控制器 业务逻辑控制器 负责处理用户请求 本身不具备处理能力 而是调用 Model 来完成处理 对应 Action 部分 3 3 S Sp pr ri in ng g Spring 是一个开源框架 它由 Rod Johnson 创建 它是为了解决企业应用 开发的复杂性而创建的 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情 然而 Spring 的用途不仅限于服务器端的开发 从简单性 可测 试性和松耦合的角度而言 任何 Java 应用都可以从 Spring 中受益 目的 解决企业应用开发的复杂性 功能 使用基本的 JavaBean 代替 EJB 并提供了更多的企业应用功能 范围 任何 Java 应用 简单来说 Spring 是一个轻量级的控制反转 IoC 和面向切面 AOP 的容器 框架 轻量 从大小与开销两方面而言 Spring 都是轻量的 完整的 Spring 框架可以在一个大小只有 1MB 多的 JAR 文件里发布 并且 Spring 所需的处理开 销也是微不足道的 此外 Spring 是非侵入式的 典型地 Spring 应用中的对 象不依赖于 Spring 的特定类 控制反转 Spring 通过一种称作控制反 转 IoC 的技术促进了松耦合 当应用了 IoC 一个对象依赖的其它对象会通 过被动的方式传递进来 而不是这个对象自己创建或者查找依赖对象 你可以 认为 IoC 与 JNDI 相反 不是对象从容器中查找依赖 而是容器在对象初始化 时不等对象请求就主动将依赖传递给它 面向切面 Spring 提供了面向切面编程 的丰富支持 允许通过分离应用 的业务逻辑与系统级服务 例如审计 auditing 和事务 transaction 管理 进行内聚性的开发 应用对象只实现它们应该做的 完成业务逻辑 仅此 而已 它们并不负责 甚至是意识 其它的系统级关注点 例如日志或事务支 持 容器 Spring 包含并管理应用对象的配置和生命周期 在这个意义上它 是一种容器 你可以配置你的每个 bean 如何被创建 基于一个可配置原型 prototype 你的 bean 可以创建一个单独的实例或者每次需要时都生成一个 新的实例 以及它们是如何相互关联的 然而 Spring 不应该被混同于传统 的重量级的 EJB 容器 它们经常是庞大与笨重的 难以使用 框架 Spring 可以将简单的组件配置 组合成为复杂的应用 在 Spring 中 应用对象被声明式地组合 典型地是在一个 XML 文件里 Spring 也提供了 很多基础功能 事务管理 持久化框架集成等等 将应用逻辑的开发留给了你 所有 Spring 的这些特征使你能够编写更干净 更可管理 并且更易于测试 的代码 它们也为 Spring 中的各种模块提供了基础支持 4 4 H Hi ib be er rn na at te e Hibernate 是一个开放源代码的对象关系映射框架 它对 JDBC 进行了非常 轻量级的对象封装 使得 Java 程序员可以随心所欲的使用对象编程思维来操纵 数据库 Hibernate 可以应用在任何使用 JDBC 的场合 既可以在 Java 的客户端程序 使用 也可以在 Servlet JSP 的 Web 应用中使用 最具革命意义的是 Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP 完成数据持久化的重任 Hibernate 的核心接口一共有 5 个 分别为 Session SessionFactory Transaction Query 和 Configuration 这 5 个核 心接口在任何开发中都会用到 通过这些接口 不仅可以对持久化对象进行存 取 还能够进行事务控制 下面对这五个核心接口分别加以介绍 Session 接口 Session 接口负责执行被持久化对象的 CRUD 操作 CRUD 的任 务是完成与数据库的交流 包含了很多常见的 SQL 语句 但需要注意的是 Session 对象是非线程安全的 同时 Hibernate 的 session 不同于 JSP 应用 中的 HttpSession 这里当使用 session 这个术语时 其实指的是 Hibernate 中的 session 而以后会将 HttpSession 对象称为用户 session SessionFactory 接口 SessionFactory 接口负责初始化 Hibernate 它充当 数据存储源的代理 并负责创建 Session 对象 这里用到了工厂模式 需要注 意的是 SessionFactory 并不是轻量级的 因为一般情况下 一个项目通常只需 要一个 SessionFactory 就够 当需要操作多个数据库时 可以为每个数据库指 定一个 SessionFactory Configuration 接口 Configuration 接口负责配置并启动 Hibernate 创建 SessionFactory 对象 在 Hibernate 的启动的过程中 Configuration 类的实 例首先定位映射文档位置 读取配置 然后创建 SessionFactory 对象 Transaction 接口 Transaction 接口负责事务相关的操作 它是可选的 开发 人员也可以设计编写自己的底层事务处理代码 Query 和 Criteria 接口 Query 和 Criteria 接口负责执行各种数据库查询 它可以使用 HQL 语言或 SQL 语句两种表达方式 2 2 产品的功能产品的功能 1 1 顾客下订单 顾客下订单 2 2 删除订单 删除订单 3 3 修改订单 修改订单 4 4 查看订单 查看订单 5 5 确认收货 确认收货 6 6 管理员查看所有订单 管理员查看所有订单 7 7 分类查询订单 分类查询订单 2 3 开发及运行环境开发及运行环境 2 3 1 硬件平台硬件平台 CPUCPU 1GHz1GHz 以上以上 内存内存512MB512MB 以上以上 2 3 2 软件平台软件平台 操作系统操作系统 WindowsWindows 7 7 数据库数据库 MySql 5 5MySql 5 5 开发环境开发环境 JDK 7JDK 7 开发工具开发工具 MyEclipseMyEclipse 1010 开发语言开发语言JAVAJAVA 语言语言 服务器服务器 TomcatTomcat 7 07 0 浏览器浏览器IE6 0IE6 0以上以上 分辨率分辨率最佳效果最佳效果1024 7681024 768 3 系统功能需求系统功能需求 3 1 系统需求分析系统需求分析 将订单模块分成管理员和顾客两个管理部分 1 管理员 可以查看所有的订单 对已付款的订单进行发货 查看订单详情 按不同方式查询订单 2 顾 客 可以对购物车中的商品进行下单 对未付款的订单进行删除 修改 对已收到货的订单进行确认收货 可以对确认收货的订单进行评论 3 1 1 顾客模块顾客模块 1 注册功能 顾客首先要注册为网上商城的用户 注册时只要填写登录用户名 密码 联系电子信箱3项信息即可 注册后 用户可继续如实填写详细个人信息 及收货人信息 同时可修改密码 查询及修改订单 2 选择产品功能 顾客浏览网上商城 将自己需求的产品放入到购物车中 可连续添加商品 3 管理购物车 顾客选择完商品后可进入购物车页面 查看自己要购买的商品 可修改某一商品数量 取消购买某商品和清空整个购物车 4 订单功能 顾客确定购物车中的商品后提交订单 如顾客已填写收货人信息 则页面显示该信息并由顾客确认 如尚未填写则显示相应表单请其填写 系统 记录顾客提交的收货人信息以便其下次购物时使用 顾客提交订单后可在网上 商城查询该订单 并可对尚未处理的订单进行取消 修改等操作 5 付款功能 顾客在订单被销售方确认后 要选择付款方式 并付款给销售方 然后才可以收到货 3 1 2 管理员模块管理员模块 1 管理人员部分 该部分的用户有一个超级管理员以及若干个普通管理员 超 级管理员拥有最高权限 可访问所有订单 可浏览 查询订单 可浏览 修改 普通管理员和会员的资料 2 管理订单功能 顾客可通过 Web 方式取消 修改自己提交的订单 在管理 员确认前 查询自己提交的订单 随时 如订单的状态在一定时限 如12个 小时 后仍没有发生变化 订单关闭 状态除外 系统自动提醒管理员 如 该订单变色 弹出提醒窗口等方式 订单状态发生变化 系统自动发 E mail 给 顾客 无效订单 订单关闭 状态除外 3 管理商品功能 管理员可以添加 修改 删除商品 3 2 系统流程图系统流程图 3 2 1 系统模块图系统模块图 购物网站 会员模块 账户管理 管理员模块 购物车模块 商品管理模块 公告管理模块 管理员登陆 增加管理员 删除商品 确认订单 结算 添加商品 订单查询 取消订单 确认收货 会员登录 会员注册 修改信息 商品搜索 商品分类 商品下架 商品上架 公告添加 公告删除 公告查询 公告修改 3 2 2 系统用例图系统用例图 3 2 3 系统流程图系统流程图 3 2 4 系统状态图系统状态图 3 2 4 1 用户状态图用户状态图 3 2 4 2 管理员状态图管理员状态图 3 2 5 系统活动图系统活动图 3 2 5 1 用户购买活动活动图用户购买活动活动图 3 2 5 2 管理员管理活动图管理员管理活动图 4 其他功能需求其他功能需求 4 1 性能需求性能需求 4 1 1 数据精确度数据精确度 价格单位保留到分 4 1 2 适应性 可移植性适应性 可移植性 购物流程要简单明了 产品图片要清楚 产品信息描述准确 4 2 开放性要求开放性要求 系统应该具有较强的灵活性 以适应经来功能扩展的需求 4 3 安全性要求安全性要求 系统有严格的权限管理功能 各个功能模块需要相应的权限才能进入 防 止非法用户获取网页以及内容 5 数据词典数据词典 5 1 订单 订单 orders 字段字段描述描述类型类型约束约束 oidoid 订单编号 Int 主键 spidspid 商品编号 int 外键 gidgid 买家编号 int 外键 xqxq 订单详情 text statusstatus 订单状态 Varchar 4 oaddressoaddress 收货地址 Varchar 50 recnamerecname 收货人姓名Varcha 30 reczipre

温馨提示

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

评论

0/150

提交评论