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

下载本文档

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

文档简介

1、1.引言21.1编写目的22.综合描述22.1产品的技术22.2产品的功能72.3开发及运行环境83.系统功能需求93.1系统需求分析93.2系统流程图114. 其他功能需求184.1性能需求184.2开放性要求194.3安全性要求195. 数据词典195.1订单( ORDERS )195.2买家( GUEST )205.3商品( SP)216. 特定问题列表211. 引言1.1 编写目的随着信息化产业越来越发达,人们的生活节奏越来越快,需求越来越多,越来越多的人喜欢上了足不出户的消费方式。因此,网上商城应运而生。本次课程设计目的主要是开发一套符合生活实际的 B2C 网上商城,其次是为了通过此

2、次课程设计增加小组成员间的团队合作能力,提高实战水平,强化所学的知识,掌握更新的技术。2. 综合描述2.1 产品的技术2.1.1技术的名称该项目使用SSH2框架 +jQuery+ExtJs+MySql数据库+MyEclipse开发环境2.1.2技术的介绍1、SSHSSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web 应用程序开源框架。集成 SSH 框架的系统从职责上分为四层: 表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、 可复用性好、 维护方便的 Web 应用程序。 其中使用 Struts 作为系统的整体基础架构, 负

3、责 MVC 的分离,在 Struts 框架的模型部分,利用 Hibernate 框架对持久层提供支持,业务层用 Spring 支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,并给出 Hibernate 的 DAO 实现,采用 Hibernate 架构实现的 DAO类来实现 Java 类与数据库之间的转换和访问,最后由 Spring 完成业务逻辑。系统的基本业务流程是: 在表示层中,首先通过 JSP 页面实现交互界面,负责传送请求 (Request) 和接收响应 (Response) ,然后 Struts 根据配置

4、文件 (struts-config.xml)将 ActionServlet 接收到的 Request 委派给相应的 Action处理。在业务层中,管理服务组件的Spring IoC容器负责向 Action 提供业务模型 (Model) 组件和该组件的协作对象数据处理 (DAO) 组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理 DAO 组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层

5、只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。2 、 StrutsStruts对 Model ,View 和 Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器, 负责拦截来自用户的请求。Action ,这个类通常由用户提供,该控制器负责接收来自 ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP 页面显示。Model部分:由 ActionForm和 JavaBean用于封装用户的请求参数

6、,封装成象被 ActionServlet转发给 Action组成,其中 ActionFormActionForm对象,该对, Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分:该部分采用 JSP (或 HTML 、 PHP )实现。 Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。对应上图的 JSP 部分。Controller组件:Controller 组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上

7、图的 ActionServlet 。该控制器由 Struts 框架提供, 继承 HttpServlet 类,因此可以配置成标注的 Servlet 。该控制器负责拦截所有的 HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器, 负责处理用户请求, 本身不具备处理能力,而是调用 Model 来完成处理。对应 Action 部分。3 、 SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的 JavaBean来完成以前只可能由EJB完成的事情。然而, Spring的用途不仅限于服务器端的开发。

8、从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的 JavaBean 代替 EJB ,并提供了更多的企业应用功能范围:任何Java 应用简单来说, Spring 是一个轻量级的控制反转 (IoC) 和面向切面 (AOP) 的容器框架。轻量从大小与开销两方面而言 Spring 都是轻量的。 完整的 Spring 框架可以在一个大小只有 1MB 多的 JAR 文件里发布。并且 Spring 所需的处理开销也是微不足道的。 此外,Spring 是非侵入式的: 典型地,Spring应用中的对象不依赖于Spring的特定类。

9、控制反转 Spring 通过一种称作控制反转( IoC )的技术促进了松耦合。当应用了 IoC ,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为 IoC 与 JNDI 相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面 Spring 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责 (甚至是意识) 其它的系统级关注点,例如日志或事务支持

10、。容器 Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型( prototype ),你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。 然而, Spring 不应该被混同于传统的重量级的 EJB 容器,它们经常是庞大与笨重的,难以使用。框架 Spring 可以将简单的组件配置、 组合成为复杂的应用。在 Spring 中,应用对象被声明式地组合,典型地是在一个 XML 文件里。 Spring 也提供了很多基础功能(事务管理、持久化框架集成等等) ,将应用逻辑的开发留给了你

11、。所有 Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为 Spring 中的各种模块提供了基础支持。4 、 HibernateHibernate是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在 Java 的客户端程序使用, 也可以在Servlet/JSP的 Web应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP ,完成数据持久化的重任。Hiberna

12、te 的核心接口一共有 5 个,分别为 :Session 、 SessionFactory 、Transaction 、Query 和 Configuration 。这 5 个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口 :Session接口负责执行被持久化对象的CRUD操作 (CRUD的任务是完成与数据库的交流,包含了很多常见的 SQL语句。 )。但需要注意的是Session 对象是非线程安全的。 同时, Hibernate 的 session 不同于 JSP应用中的HttpSession。

13、这里当使用 session 这个术语时,其实指的是 Hibernate中的 session,而以后会将HttpSession 对象称为用户 session。SessionFactory接口 :SessionFactory接口负责初始化 Hibernate 。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口 :Configuration接

14、口负责配置并启动 Hibernate ,创建 SessionFactory 对象。在 Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口 :Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和 Criteria接口 :Query和 Criteria接口负责执行各种数据库查询。它可以使用HQL 语言或 SQL 语句两种表达方式。2.2 产品的功能1、顾客下订单2、删除订单3、修改订单4、查看订单5、确认收货6、管理员

15、查看所有订单7、分类查询订单。2.3 开发及运行环境2.3.1硬件平台CPU内存1GHz512MB以上以上2.3.2软件平台操作系统Windows 7数据库MySql-5.5开发环境JDK-7开发工具MyEclipse 10开发语言JAVA 语言服务器Tomcat 7.0浏览器IE6.0 以上分辨率最佳效果 1024*7683. 系统功能需求3.1 系统需求分析将订单模块分成管理员和顾客两个管理部分:1、管理员:可以查看所有的订单, 对已付款的订单进行发货,查看订单详情,按不同方式查询订单。2、顾客:可以对购物车中的商品进行下单, 对未付款的订单进行删除、修改,对已收到货的订单进行确认收货,可

16、以对确认收货的订单进行评论。3.1.1顾客模块(1) 注册功能。顾客首先要注册为网上商城的用户。注册时只要填写登录用户名、 密码、联系电子信箱 3 项信息即可。 注册后,用户可继续如实填写详细个人信息及收货人信息,同时可修改密码、查询及修改订单。(2) 选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中() ,可连续添加商品。(3) 管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。(4) 订单功能。顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请

17、其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。(5) 付款功能。 顾客在订单被销售方确认后, 要选择付款方式,并付款给销售方,然后才可以收到货。3.1.2管理员模块1) 管理人员部分。该部分的用户有一个超级管理员以及若干个普通管理员, 超级管理员拥有最高权限, 可访问所有订单,可浏览、查询订单, 可浏览、修改普通管理员和会员的资料。(2) 管理订单功能。顾客可通过 Web 方式取消、修改自己提交的订单(在管理员确认前) ,查询自己提交的订单 (随时)。如订单的状态在一定时限(如 12 个小时)后仍没有发

18、生变化(“订单关闭”状态除外) ,系统自动提醒管理员(如该订单变色,弹出提醒窗口等方式。订单状态发生变化,系统自动发 E-mail给顾客,“无效订单” 、“订单关闭”状态除外) 。(3) 管理商品功能。管理员可以添加、修改、删除商品。3.2 系统流程图3.2.1系统模块图会员模块账户管理管理员模块购物网站购物车模块商品管理模块公告管理模块会员登录会员注册修改信息订单查询取消订单确认收货增加管理员管理员登陆添加商品删除商品确认订单结算商品上架商品下架商品搜索商品分类公告查询公告添加公告删除公告修改3.2.2系统用例图3.2.3系统流程图3.2.4系统状态图用户状态图管理员状态图3.2.5系统活动图用户购买活动活动图管理员管理活动图4. 其他功能需求4.1 性能需求4.1.1数据精确度价格单位保留到分。4.1.2适应性、可移植性购物流程要简单明了,产品图片要清楚,产品信息描述准确。4.2开放性要求系统应该具有较强的灵活性,以适应经来功能扩展的需求。4.3安全性要求系统有严格的权限管理功能,各个功能模块需要相应的权限才能进入。

温馨提示

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

评论

0/150

提交评论