收藏 分销(赏)

小型购物系统需求分析.doc

上传人:天**** 文档编号:4745076 上传时间:2024-10-11 格式:DOC 页数:15 大小:145.36KB 下载积分:8 金币
下载 相关
小型购物系统需求分析.doc_第1页
第1页 / 共15页
小型购物系统需求分析.doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
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、SSH 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、Struts 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、Spring 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、Hibernate 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、顾客下订单 2、删除订单 3、修改订单 4、查看订单 5、确认收货 6、管理员查看所有订单 7、分类查询订单。 2.3开发及运行环境 2.3.1硬件平台  CPU 1GHz以上 内存 512MB以上 2.3.2软件平台  操作系统 Windows 7 数据库 MySql-5.5  开发环境 JDK-7  开发工具 MyEclipse 10  开发语言 JAVA语言  服务器  Tomcat 7.0  浏览器 IE6.0以上  分辨率 最佳效果1024*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 数据精确度 l 价格单位保留到分。 4.1.2 适应性、可移植性 l 购物流程要简单明了,产品图片要清楚,产品信息描述准确。 4.2 开放性要求 l 系统应该具有较强的灵活性,以适应经来功能扩展的需求。 4.3 安全性要求 l 系统有严格的权限管理功能,各个功能模块需要相应的权限才能进入。防止非法用户获取网页以及内容。 5.数据词典 5.1订单(orders) 字段 描述 类型 约束 oid 订单编号 Int 主键 spid 商品编号 int 外键 gid 买家编号 int 外键 xq 订单详情 text status 订单状态 Varchar(4) oaddress 收货地址 Varchar(50) recname 收货人姓名 Varcha(30) reczip 收货地邮编 Varchar(10) allpay 总金额 Float otime 下单时间 Date passtime 确认时间 Date 5.2买家(guest) 字段 描述 类型 约束 gid 买家编号 Int 主键 gname 买家昵称 Varchar(20) gsex 性别 Varchar(4) gage 年龄 Int gtelephone 联系方式 Varchar(20) gtruename 买家真实姓名 Varchar(20) gpassword 密码 Varchar(20) gemail 邮箱 Varchar(20) gtime 注册时间 Date 5.3商品(sp) 字段 描述 类型 约束 Spid 商品编号 Int 主键 Sid 卖家编号 Int 外键 Spname 商品名称 Varchar(20) Price 价格 Float Yunfei 运费 Float Type 商品类型 Varchar(4) Pic 图片 Varchar(20) Introduce 商品介绍 Text Kucun 当前库存 Int Sptime 上架时间 Date 6.特定问题列表 l 如何控制顾客与管理员的权限 l 购物车的实现 l 表单及session数据的传递
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服