收藏 分销(赏)

电机销售管理系.doc

上传人:丰**** 文档编号:4875004 上传时间:2024-10-16 格式:DOC 页数:43 大小:1.02MB
下载 相关 举报
电机销售管理系.doc_第1页
第1页 / 共43页
电机销售管理系.doc_第2页
第2页 / 共43页
点击查看更多>>
资源描述
基于Hibernate+struts2的电机销售系统前台的设计与实现 学 院: 软件学院 专 业: 软件工程 指导教师: 2014年 9 月 基于Struts2+Hibernate的电机销售管理系统 摘 要 基于网络的销售管理系统伴随着网络技术的发展已得到了广泛的应用,它极大的改变了人们的消费理念,让人可以足不出户实现快捷方便的购物体验,为广大网络用户提供了更加周到和人性化的服务。 本文所讨论的系统是基于目前web开发中流行的2大框架:struts、hibernate的,是典型的B/S架构的系统,其开发主要包括应用程序的开发, 数据库的建立和维护两个方面。 应用此系统,商家可以发布商业信息,广告等等。用户可以查阅、订购商品,该系统可以为客户提供更方便、更好、更快的商务活动空间,实现网上交易,是一个综合性电子商务系统。从整个系统结构上看,本系统包括客户端和服务器端,客户端主要针对客户的一般需求,而服务器端主要是针对管理员的需求。管理员能够对整个系统的数据进行管理。整个系统的开发过程由需求分析,系统的功能设计,详细设计,数据库设计等几个部分组成。 关键词:工作模式,数据库设计,模块设计,数据验证 A motor sales management system that based on Struts and Hibernate Abstract With the development of the network,e-business system has been widely used .It has changed people’s idea of expense immensely, people can go shopping anytime and anywhere if you want, and you don’t need to go out., providing the more thoughtful and humanized service for the large network customer. The system we talked about is based on two widely used framework:Struts2 and hibernate. This system is a typical B / S structure of the system, including the development of its application development, database creation and maintenance of the two areas. Through this system, Advertiser can issues business information and products advertisements, and users can conveniently order goods depending on B/S pattern. Because of running on web, the system can offer whole day, better more quick room of activities to realize the basis functions of transaction in Internet. The Web, according to the current design principles of business Web, gives first place to transaction function in Internet, it is a synthesis electronic commerce Web. From the analysis above, the content of this paper mainly includes the design of client and server. Client part is specific to user, Server part is specific to administrator. Administrator and manager the hole system, guarantee the guarantee of data base. The developing of this system consist of demand analysis、functional design、detailed design、database design. Keywords: mode database,design modular,design data,validation 目 录 1 绪论 1 1.1 课题的背景和意义 1 1.2 工作内容 1 1.3 J2EE体系结构介绍 2 1.3.1 Tomcat简介 3 1.3.2 Ajax技术简介 3 1.3.3 Struts2框架的引入 4 1.3.4 Hibernate框架的引入 4 1.4 网站工作模式 5 1.5 本章小结 6 2 需求分析 7 2.1需求分析概述 7 2.2功能模块图 7 2.3 可行性分析 7 2.3.1经济可行性 7 2.3.2 技术可行性 8 2.3.3环境可行性分析 8 2.4用户需求分析 8 2.4.1 用户注册需求 8 2.4.2 用户登录需求 8 2.4.3 购买商品需求 8 2.4.4 购物车管理需求 9 2.4.5 订单管理需求 9 2.5管理员需求分析 9 2.5.1 管理库存的需求 9 2.6系统用例图 10 3 概要设计 11 第 Ⅰ 页 共 Ⅱ 页 3.1 系统体系结构的设计 12 3.2 系统的层次结构设计 12 3.3 数据库设计 12 3.4 系统组成 15 3.5 系统文件组织设计 16 4 详细设计 17 4.1系统运行环境 17 4.2系统部署架构 17 4.3 系统时序图 17 4.4系统的持久化层具体实现 18 4.4.1 定义Hibernate工厂类 18 4.4.2 使用Dao模式 18 4.5 系统业务逻辑层设计 18 4.6系统接口及映射文件的实现设计 19 4.7 模块功能设计与实现 19 4.7.1 登陆功能 19 4.7.2 注册功能 20 4.7.3 购买商品功能 20 4.7.4 用户订单管理 22 4.7.5 用户信息修改 23 4.8系统业务流程图 24 4.9 本章小结 25 5 测试小结 25 5.1测试说明 26 5.2系统功能测试 26 5.3 本章小结 35 6 总结 36 参考文献 37 致谢 38 第 Ⅱ 页 共 Ⅱ 页 1 绪论 1.1 课题的背景和意义 随着网络的发展越来越迅速,人们也希望互联网能对自己的生活、工作提供越来越方便快捷的支持和帮助。本电机销售管理系统是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现顾客网上交易的一种新型的网购模式。本系统将传统的商品采购流程数字化,可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得网上交易可以在任何时间、任何地点进行,极大地方便了消费者消费,使商品购买变得轻松、快捷、方便,从而大大提高了效率。以前网上销售管理系统大多数是基于客户机/服务器的模式来设计和开发的。随着技术飞速发展,传统的客户机/服务器面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等[1]。 目前,许多的网站都采用了struts2、hibernate组合来开发,所以本系统所采用的框架与技术是目前业界流行的框架struts2与hibernate的组合使用,这样的选择让业务逻辑更清晰,数据的管理也更加方便。struts是属于表现层的技术,而hibernate则主要与数据处理打交道。两者都是开源的框架,这样,在经济的可行性分析上面是十分占优势的。 本文介绍的是一个网上电机销售管理系统。系统具有高可靠性、可扩展性和重用性的特点。 1.2 工作内容 电机销售管理系统是运用现代化的科学方法,对销售进行合理的组织、整合和调配,让用户能方便的进行商品购买、查看等。本系统使用Sun公司的J2EE架构,并以STRUTS为框架,Hibernate作为持久化层,采用了Web应用系统的MVC体系结构。并研究了设计模式与框架技术,设计并实现了基于j2EE的电机销售管理系统,为以后的研究与实践打下了基础。 其中论文主要完成了以下工作: (1)基于STRUTS+Hibernate构件多层Web应用系统的框架及相关理论研究。 (2)对销售与管理系统各部分所涉及的功能进行分析探讨。 (3)按照需求设计并实现了一个电机销售管理系统。 1.3 J2EE体系结构介绍 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。JavaEE是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循JavaEE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境[2]。 J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBC API以及能够在internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力的支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能[3]。 在J2EE开发模型中,整个系统可分为以下三个主要部分: (1)视图(view) 视图是用户界面部分,在web应用程序中也就是HTML、XML、JSP页面。这个部分主要处理用户看到的东西即用于显示,动态JSP部分处理了用户可看见的动态网页,而静态的网页由HTML和XML输出。 (2)控制器(Control) 控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,即网页制作人员将可以独立自由地改变Web页面而不用担心影响这个基于Web的应用程序功能。在J2EE模型中,控制器的功能一般是由Servlet、JavaBeans、EJB中的SessionBean来充当的[4]。 (3)模型(Module) 模型就是应用业务逻辑部分,这个部分主要角色EJB(EnterpriseJavaBeans),借助于EJB强大的组件技术和企业级的管理控制,开发人员可以轻松的创建出可重用的业务逻辑模块。 1.3.1 Struts2框架的引入 一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。因此在网上电机销售系统的设计中,采用了基于Struts2的结构框架设计,采用此结构框架设计的优点有: (1)可扩展性:Struts2框架是基于JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型,其业务逻辑和表示逻辑分开,而且所有默认的设置都可以配置,包括了一系列通用标记扩展,适应复杂的业务形式,具有较强的可扩展性,能满足新业务发展的要求[8]。 (2)标准性和开放性:Struts2 框架基于Java语言,而且其基本组件具有统一的标准,在许多运行标准的容器中都工作的非常好,具备优异的可移植性。 (3)安全性和高效性Struts2具有完善的安全管理机制,Java语言也是当前最安全的语言。采用Struts能使系统具有较高的网络安全性和运行效率,保证提供高质量的网络服务和快速的响应速度。 图1.1 struts2 的体系总览图 1.3.2 Ajax技术简介 Ajax全称“Asynchronous JavaScript and XML”,是指一种创建交互式网页应用的网页开发技术。它包含了以下几种技术:基于web标准XHTML+CSS的表示;使用DOM进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest进行异步数据查询、检索;使用JavaScript将所有的东西绑定在一起。 Ajax,使用它可以构建更为动态和响应更灵敏的Web应用程序,让浏览器为用户提供更为自然的浏览体验。Ajax能提供与服务器异步通信的能力[7],从而使用户从请求/响应的循环中解脱出来。借助Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,来执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面,使用户看起来是即时响应的。 Ajax的核心是JavaScript对象XmlHttpRequest。该对象是一种支持异步请求的技术。简而言之,XmlHttpRequest使用户可以使用JavaScript向服务器提出请求并处理响应,而不是阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。 图1.2 ajax体系结构图 1.3.3 Tomcat简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。由于Tomcat 技术先进、性能稳定,而且免费,所以深受Java 爱好者的喜爱也得到了一些软件开发商的认可,成为目前比较流行的Web 应用服务器。 Tomcat 因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能[5];而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能,所以他深受Java爱好者的喜爱。 Tomcat 是一个小型的应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,也是开发和调试JSP 程序的首选。对于一个初学者来说,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式[6]。不过,Tomcat处理静态HTML的能力不如Apache服务器。 1.3.4 Hibernate框架的引入 Hibernate是JDBC的轻量级的对象封装,它是当前比较流行的对象持久化技术,用hibernate可以将一个Java对象保存到数据库。它是一个独立的对象持久层框架,和Application Server、EJB之间没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码[9]。 Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动及数据库都有一定的关系,但是和使用它的Java程序、Application Server没有任何关系,也不存在兼容性问题。 由于Hibernate比较复杂,提供了好几种运行方式。在轻型体系中,应用程序自己提供JDBC连接,并自行管理事务。这种方式使用了Hibernate API的一个最小子集。 此处SessionFactory的含义为:单一数据库编译过的映射文件的一个线程安全的、不可变的缓存快照。它是Session的工厂,是Connection Provider的客户。可能持有一个可选的二级数据缓存,可以在进程级别后集群级别保存可以在事务中重用的数据。 Session是生命周期的单线程对象,代表应用程序和持久层之间的一次对话。封装了一个JDBC连接,也是Transaction的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图或通过标识符查找对象。 1.4 网站工作模式 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。   B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。 本系统充分利用过滤器和监听器的功能,解决系统乱码问题,和对session对象的管理。其中监听器使用了SessionListener,ContextListener,SessionListener实现了当用户关闭浏览器时,系统会自动删除session中的购物车,当用户访问页面时即session形成时,监听器会自动监听,系统会自动创建购物车以便后来在用户购物车管理模块中当用户购买商品时,放入到此购物车中。ContextListener使用的目的是,监听整个应用系统的启动和关闭,当系统启动时会加载数据库中的所有电机商品。这样做的好处是不必每次请求查看商品数据时都与数据库发生交互。 1.5 本章小结 本章首先分析了下当前销售行业在网络上的发展态势,得出基于web系统的开发是一个新的趋势。然后从技术的角度讨论了web系统开发的模式和框架,包括struts2和hibernate框架的运行原理和各自的性能特点,它们各自代表着控制层和持久层。 2 需求分析 2.1 需求分析概述 电机销售管理系统主要实现了在网上选购商品、将商品加入购物车、查询订单等功能。本系统实现了商品信息的展示、购物车管理、注册用户信息、修改个人信息、登录管理、订单处理等模块。需求分析可以分解为用户需求分析和管理员需求分析。 2.2 功能模块图 图2.1 功能模块图 2.3 可行性分析 2.3.1 经济可行性 通过网站对电机销售进行全面的自动化的管理,实现了通过网络对商品信息进行发布、传递、接收等一系列功能,大大提高了企业的办公效率。通过系统对电机销售过程中的数据进行全面的管理,避免人为处理各类数据时所产生的问题,提高了企业经济效益,为企业经营决策提供大量、权威的数据,使企业管理进行到科学化、系统化的范筹。 第 7 页 共 38页 2.3.2 技术可行性 网络电机销售系统的开发采用了先进成熟并且符合实际应用的开发方法,目前最流行的集成开发环境MyEclipse,动态网页开发技术JSP和MVC架构技术Struts、Spring和Hibernate,功能强大的数据库管理工具Oracle,结合自己的实际开发能力,可以开发出较为完善的电机销售管理系统。 2.3.3环境可行性分析 在软件环境方面,系统的开发环境如下: 操作系统:windows7; Web应用服务器:Tomcat 6.0; 数据库:Oracle 10.0g; 开发工具:MyElcipse; 2.4 用户需求分析 2.4.1 用户注册需求 注册要求用户输入一些个人信息,用户名是每个注册用户的唯一标识。注册过程中还可以检查用户名是否存在,当注册成功后,用户可以使用用户名和密码进入电机销售系统,进行购物、查看订单等活动。 2.4.2 用户登录需求 在登录界面上用户可以输入用户名和密码进行登录,如果用户名和密码都正确,则可以进入电机销售管理系统,如果不正确,提示用户登陆失败,请输入正确的用户名和密码,并重新登录。如果用户不存在还可以点击用户注册进入用户注册界面。 2.4.3 购买商品需求 用户可以以两种身份浏览商品。一种是已注册用户,另一种是游客。当用户用注册用户账号登录本系统进行购物时,用户可以先将选中商品加入购物车,再提交订单,可以选择货到付款、邮局汇款、银行转账三个付款方式。如果以游客身份购买商品,可以将选中商品先加入购物车,提交订单时,系统会自动提示您需要登录才可以购买此商品,页面将自动跳转到登录界面。 2.4.4 购物车管理需求 购物车可以跟踪用户选择的商品,用户在购物车中保存自己所选中的商品。每个用户都有自己临时的一个购物车。可以查看购物车,可以修改选中的商品的数量,可以添加商品放入购物车,也可以取消已加入购物车的商品或者清空购物车重新选购商品。 2.4.5 订单管理需求 已登陆用户能查看自己的订单,能查看自己订单的详细信息,也可以删除自己的订单,当确认订单后,系统根据购物车中的数据生成一条订单记录和一条订单明细记录,并将此次购买信息加入到相应顾客的订单信息中,并清空了购物车中的所有商品。 2.5 管理员需求分析 2.5.1 管理库存的需求 核心功能为添加商品,修改商品信息,修改库存,即对电机数量的增加和删除,增加电机的同时还要对保存在session里面的电机作更新,与数据库的同步,让顾客可以买到最新型号的电机。 图2.2 管理员需求框 2.6 系统用例图 (1)客户总体用例图:客户登录系统成功后,客户可以进行订单管理、购物车管理、商品查询、注册操作,值得注意的是,订单一旦下发,客户只能查看订单不可以修改和删除订单内容,笔者会一一介绍各个用例的功能,如下所示,系统目前实现的功能为以上几点。 图2.3 客户总体用例图 (2)客户管理用例图:客户管理包括客户登录和客户注册,客户操作系统的前提是成功登陆系统,如果没有注册,也可以注册客户信息,注册成功后会存储至数据库,客户注册成功之后就可以用注册成功的用户名密码登陆系统下订单。 图2.4 客户管理用例图 (3)客户购物车用例图:客户在提交订单之前可以对购物车进行增删改查操作,如果在购物车中新添加了商品,则结算金额会变为新的结算金额。需要说明的是,在提交订单之前购物车中的货物是可以随时变动的,且其不是在表中存储的,是在session中存储。 图2.5 客户购物车用例图 (4)客户订单用例图:在客户提交订单之后也可以查看自己下发的订单,且可以查看订单的明细信息,包括一些客户地址信息;除此之外客户还可以删除待处理的订单。 图2.6 客户订单用例图3 系统概要设计 3.1 系统体系结构的设计 (1)该系统是以关系数据库为存储,基于Web的应用系统。由一系列组件和功能模块组成。 ● 总体结构:浏览器/服务器(B/S); ● 编程模式:Jsp+Hibernate+STRUTS2; ● 逻辑结构:用户界面开发、业务逻辑处理和数据存储; (2)该系统联合使用业务代理和DAO模式。 3.2 系统层次结构设计 系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度来看,系统依次分布在浏览器、应用服务器、数据库系统这三层。系统层次结构图3.1如下[10]。 图3.1 系统层次结构图 3.3 数据库设计 数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最好的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性[11]。 基于系统的功能分析,其ER图如图3.2所示。 用户 拥有 个人信息 订货 订单 构成 订单明细 电机 参照 拥有 电机信息 购买 图3.2 系统的实体关系图 根据ER图,可得出数据库的表单如下: (1)userinfo:存放用户信息 表3.1 用户信息表 字段名 字段类型 约束或索引 描述 userid Varchar2(16) PK 记录流水号 Name Varchar2(16) 用户名 Password Varchar2(16) 用户密码 Zip Varchar2(255) 邮编 Address Varchar2(255) 地址 Telephone Varchar2(255) 电话 Email Varchar2 (255) 电子邮件 (2)Product表:存放电机信息。 表3.2 电机信息表 字段名 字段类型 约束或索引 描述 productid Number PK 记录流水号 Name Varchar2(64) 书名 description Varchar2(2000) 电机的描述 baseprice Number 电机价钱 categoryid Number 电机类型 pcount Number 电机的数量 images Varchar2(200) 电机的图片 (3)orderline表:存放订单明细信息。 表3.3 订单明细表 字段名 字段类型 约束或索引 描述 lineid Number(10) PK 记录流水号 productid Number(10) FK 电机的流水记录号 Orderid Number(10) FK 订单的流水记录号 amount Number(10) 数量 (4)order表:存放订单信息 表3.4 订单信息表 字段名 字段类型 约束或索引 描述 orderid Number(Sequence) PK 记录流水号 name Varchar2(32) 电机名称 finished Number 下单时间 cost Number 订单价格 userid Varchar2(16) FK 用户编号 statusid Number FK 订单状态 paywayid Number FK 付款方式 (5)payway表:用户选择付款方式 表3.5 付款方式表 字段名 字段类型 约束或索引 描述 Paywayid Number PK 记录流水号 paystyle Varchar2(16) 付款方式 (6)contactionfo表:查看订单详细信息 表3.6 订单详细信息表 字段名 字段类型 约束或索引 描述 contactid Number PK 记录流水号 userid Varchar2(16) FK 用户编号 street1 Varchar2(64) 联系地址 zip Varchar2(8) 邮编 email Varchar2(32) Email地址 homephone Varchar2(16) 家庭电话 cellphone Varchar2(16) 手机号码 officephone Varchar2(16) 办公室电话 3.4 系统组成 表3.7 系统组成表 用户表示层 (View) 控制处理层 (Controller) 业务逻辑层 (Model) addProducts.jsp productDetail.jsp Products.jsp confirmOrder.jsp order.jsp Orderinfo.jsp Userinfo.jsp adminLogin.jsp index.jsp login.jsp MyJsp.jsp productDetail.jsp Register.jsp shopcart.jsp Action Admin Category Contactioninfo IShopCart Order Orderline Orderstatus Payway Product ShopCart User AddProductAction AdminLoginAction AdminProductAction ExitAction IndexAction LoginAction ModifyAction 3.5 系统文件组织设计 采用分层开发设计,这样的好处是分工明确,适合团队开发。如果某个地方出现错误不会影响其他层。这是一种高內聚低耦合的设计思想。为体现Struts框架结构的设计思想,可采用以下的包结构的设计思想。WebRoot中的文件主要是直接为用户提供服务的页面文件,也就是MVC中的 (View) ,负责界面的显示和与用户的交互。这样以来,View只使用或调用action里的服务,而action和service也只调用dao里面的方法。这种调用方向单一,有效地降低了耦合,增强了内聚[12]。 图3.3 系统文件的组织 4 详细设计 详细设计是对系统架构设计的精化,主要是在系统需求规格和架构设计的基础上,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。 4.1 系统运行环境 系统运行的操作系统为Windows,也可以移植到Linux、Unix等操作系统下执行,数据库采用Oracle 10g,应用服务器采用符合J2EE规范的Tomcat6.0应用服务器。 4.2 系统部署架构 整个应用部署在一台应用服务器、一台数据库服务器上。系统可以可以使用企业内部局域网,也可以通过广域网访问系统。 4.3 系统时序图 在电机销售管理系统设计过程中,时序图如图4.1所示[13]。 图4.1 系统时序图 第 17 页 共 38 页 (1)界面:在本项目中指JSP页面,在具体的时序图中被实际的页面文件所替代。 (2)Action:指Struts中的Action的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在。 (3)BO:业务逻辑操作对象(Bussiness Object),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此类可以不在时序图中存在。 (4)DAO:为数据操作类处理相应的数据库操作。 (5)HibernateDataSource:数据操作实现类,用来执行实际的数据库访问。 4.4 系统的持久化层具体实现 4.4.1 定义Hibernate工厂类 本系统采用Struts和Hibernate技术进行开发,由Hibernate进行数据库连接和数据对象的操作,这里定义一个HibernateSessionFactory类去负责初始化Hibernate。由它创建全局的SessionFactory工厂类,并且提供创建和关闭session实例,创建HibernateTransaction负责打开/关闭事物。这样在使用hibernate时更加方便,不用每次为创建SessionFactory实例,Session实例或者关闭Session实例,打开/关闭,事物操作单独这些代码,只要调用上面的类的方法就可以了,从而简化了操作[14]。 4.4.2 使用Dao模式 本系统的持久化逻辑采用Hibernate作为中间件,并使用DAO设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。每个持久化类对应一个DAO类,它实现了持久化类的创建、查询、更新及删除方法,以及其它访问持久化机制的方法。本系统所有与数据库逻辑有关的方法都在IDao接口中,在com.briup.dao包下创建一个Dao的接口,并在com.briup.dao包下创建一个impl继承Dao接口实现具体的操作[15]。 4.5 系统业务逻辑层设计 业务逻辑层中只包含业务逻辑,不包含任何与数据库的交互,因此减少了访问过程中与数据库交互的过程,大大提高了运行的速率。业务逻辑层的实现需要调用持久化层和数据库交互功能的支持。本系统所有与业务逻辑有关的方法都在Service接口中,并且在com.briup.service包中创
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

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

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服