基于J2EE的进销存管理系统的设计与实现_第1页
基于J2EE的进销存管理系统的设计与实现_第2页
基于J2EE的进销存管理系统的设计与实现_第3页
基于J2EE的进销存管理系统的设计与实现_第4页
基于J2EE的进销存管理系统的设计与实现_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、标题:进销存管理系统功能描述:公司管理,客户管理,订单管理,产品管理,供应商管理,出入库管理,仓库管理,用户管理,用户组管理,权限管理数据库版本:MySql5.5数据库注1:示例源码提供了A版,C#Winform版,Java(Eclipse)版等于功能描述一致的三种版本.注2:示例源码采用MySql5.5数据库,您可以通过站点管理员(QQ65715615)索取SqlServer,Oracle,Access等数据库的免费版本.注3:示例源码附带论文,限于篇幅仅公布数据库设计部分,关于示例源码的完整论文,请联系站点管理员(QQ65715615)索取.注4:如需针对此题目定制开发作品,请联系站点管理

2、员(QQ65715615,Email: HYPERLINK mailto:65715615 65715615)1概述1.1绪论1.2开发背景1.3项目意义开发环境Eclipse3.6Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项

3、目和Eclipse技术项目三个项目组成,具体包括四个部分组成EclipsePlatform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具

4、有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议。MySql5.5数据库MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购0MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网

5、站数据库。1使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统3为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4支持多线程,充分利用CPU资源5优化的SQL查询算法,有效地提高查询速度6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312

6、、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7提供TCP/IP、ODBC和JDBC等多种数据库连接途径8提供用于管理、检查、优化数据库操作的管理工具9可以处理拥有上千万条记录的大型数据库JDK1.6JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK0JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。从SUN的JDK

7、5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。JDK包含的基本组件包括:javac-编译器,将源程序转成字节码jar-打包工具,将相关的类文件打包成一个文件javadoc-文档生成器,从源码注释中提取文档jdb-debugger,查错工具java-运行编译后的java程序(.class后缀的)appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代

8、码含义。Jconsole:Java进行系统调试和监控的工具JDK常用的包包括:java.lang:这个是系统的基础类,比如String等都是这里面的,这个包是唯个可以不用引入(import)就可以使用的包java.io:这里面是所有输入输出有关的类,比如文件操作等java.nio;为了完善io包中的功能,提高io包中性能而写的一个新包,例如NIO非堵塞应用:这里面是与网络有关的类,比如URL,URLConnection等。java.util:这个是系统辅助类,特别是集合类Collection,List,Map等。java.sql:这个是数据库操作的类,Connection,Statement,

9、ResultSet等javax.servlet:这个是JSP,Servlet等使用到的类2.4JAVAJava是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为

10、了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java语言是健壮的。Java的强类型机制、异

11、常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字

12、节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是

13、高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包

14、含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到

15、处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。2.5J2EE技术J2EE简介J2EEJava2平台企业版(Java2Platform,EnterpriseEdition)J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。J2EE的概念目前,Java2

16、平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、

17、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导

18、支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。J2EE的结构这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务.因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。容器和服务容器设置定制了J2EE服务器所提供得内在支持,包括安全,事务管理,JNDI(JavaNamingandDirectoryInterface)寻址,远程连接等服务,以下列出最重要的几种服务:J2EE安全(Security)模型可以让你配置web组件或enterprisebean,这

19、样只有被授权的用户才能访问系统资源.每一客户属于一个特别的角色,而每个角色只允许激活特定的方法。你应在enterprisebean的布置描述中声明角色和可被激活的方法。由于这种声明性的方法,你不必编写加强安全性的规则。J2EE事务管理(TransactionManagement)模型让你指定组成一个事务中所有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元.当客户端激活一个enterprisebean中的方法,容器介入一管理事务。因有容器管理事务,在enterprisebean中不必对事务的边界进行编码。要求控制分布式事务的代码会非常复杂。你只需在布置描述文件中声明enterpris

20、ebean的事务属性,而不用编写并调试复杂的代码。容器将读此文件并为你处理此enterprisebean的事务。JNDI寻址(JNDILookup)服务向企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以访问名字和目录服务.J2EE远程连接(RemoteClientConnectivity)模型管理客户端和enterprisebean间的低层交互.当一个enterprisebean创建后,一个客户端可以调用它的方法就象它和客户端位于同一虚拟机上一样.生存周期管理(LifeCycleManagement)模型管理enterprisebean的创建和移除,一个enterprise

21、bean在其生存周期中将会历经几种状态。容器创建enterprisebean,并在可用实例池与活动状态中移动他,而最终将其从容器中移除。即使可以调用enterprisebean的create及remove方法,容器也将会在后台执行这些任务。数据库连接池(DatabaseConnectionPooling)模型是一个有价值的资源。获取数据库连接是一项耗时的工作,而且连接数非常有限。容器通过管理连接池来缓和这些问题。enterprisebean可从池中迅速获取连接。在bean释放连接之可为其他bean使用。容器类型J2EE应用组件可以安装部署到以下几种容器中去:EJB容器管理所有J2EE应用程序中

22、企业级bean的执行.enterprisebean和它们的容器运行在J2EE服务器上.Web容器管理所有J2EE应用程序中JSP页面和Servlet组件的执行.Web组件和它们的容器运行在J2EE服务器上.应用程序客户端容器管理所有J2EE应用程序中应用程序客户端组件的执行.应用程序客户端和它们的容器运行在J2EE服务器上.Applet容器是运行在客户端机器上的web浏览器和Java插件的结合.。需求分析3.1业务功能概述管理员功能登录管理员用户与操作员用户通过相同的登录入口进入系统,用户登录时需提供合法的用户名与密码,并选择系统用户类型.通过身份验证的用户进入管理系统桌面,执行系统后台管理功

23、能,未通过身份验证的用户无法使用此系统后台管理功能.登录用户可保留服务端登录状态.登录用户可保留客户端登录状态,并记录上次使用系统的用户名.用户管理有权限的用户应允许使用用户管理功能.用户管理功能应允许用户创建系统用户账户,修改系统用户信息,包括登录密码,注册邮箱,提示问题及答案用户管理功能应允许用户修改系统用户所属用户组用户管理功能应允许用户删除系统用户权限管理系统用户可分为管理员用户与操作员用户两种管理员用户可以对操作员用户和管理员用户授权.有权限的用户应允许使用权限管理功能.权限管理功能应允许用户通过设置/取消用户组权限从而修改属于该用户组的用户权限.权限管理功能应允许管理员用户单独设置

24、/取消用户组针对某项管理功能的权限.公司管理公司管理,需要记录编号,公司名,负责人,邮编,电话,地址,联系人,银行卡账户信息,并可以实现添加修改删除和查询操作客户管理客户管理,需要记录编号,姓名,地址,电话,传真,联系人,开户行,银行卡号,付款时间,销售员信息,并可以实现添加修改删除和查询操作订单管理订单管理,需要记录订单号,客户编号,产品编号,数量,单价,接收时间,factFund,状态信息,并可以实现添加修改删除和查询操作产品管理产品管理,需要记录编号,名称,类型,编码,单位,单价,过期日期,Salemanager信息,并可以实现添加修改删除和查询操作供应商管理供应商管理,需要记录编号,名

25、称,电话,传真,添加时间,联系人,联系电话,付款时间,开户行,银行卡账户信息,并可以实现添加修改删除和查询操作出入库管理出入库管理,需要记录编号,产品编号,供应商编号,仓库编号,入库时间,方向,管理员信息,并可以实现添加修改删除和查询操作仓库管理仓库管理,需要记录仓库编号,名称,位置信息,并可以实现添加修改删除和查询操作1注销当已登录的用户关闭浏览页面或退出应用程序后,再次进入系统时,需要重新登录.3.1.2普通用户功能登录管理员用户与操作员用户通过相同的登录入口进入系统,用户登录时需提供合法的用户名与密码,并选择系统用户类型.通过身份验证的用户进入管理系统桌面,执行系统后台管理功能,未通过身

26、份验证的用户无法使用此系统后台管理功能.登录用户可保留服务端登录状态.登录用户可保留客户端登录状态,并记录上次使用系统的用户名.公司管理公司管理,需要记录编号,公司名,负责人,邮编,电话,地址,联系人,银行卡账户信息,并可以实现添加修改删除和查询操作客户管理客户管理,需要记录编号,姓名,地址,电话,传真,联系人,开户行,银行卡号,付款时间,销售员信息,并可以实现添加修改删除和查询操作订单管理订单管理,需要记录订单号,客户编号,产品编号,数量,单价,接收时间,factFund,状态信息,并可以实现添加修改删除和查询操作产品管理产品管理,需要记录编号,名称,类型,编码,单位,单价,过期日期,Sal

27、emanager信息,并可以实现添加修改删除和查询操作供应商管理供应商管理,需要记录编号,名称,电话,传真,添加时间,联系人,联系电话,付款时间,开户行,银行卡账户信息,并可以实现添加修改删除和查询操作出入库管理出入库管理,需要记录编号,产品编号,供应商编号,仓库编号,入库时间,方向,管理员信息,并可以实现添加修改删除和查询操作仓库管理仓库管理,需要记录仓库编号,名称,位置信息,并可以实现添加修改删除和查询操作注销当已登录的用户关闭浏览页面或退出应用程序后,再次进入系统时,需要重新登录.3.2用例图概要设计系统设计是管理系统的开发起点,也是整个管理系统实现过程中的关键环节,主要包括系统功能分析

28、、系统模块设计等等4.1架构设计为实现需求分析的目标,所以,本系统采用B/S结构作为基础结构,即客户端浏览器/Web服务器/数据库结构。在B/S模式中,客户端运行浏览器软件。浏览器向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,由Web应用程序处理,并向数据库服务器提交SQL语句,当Web应用服务器得到数据库服务器的返回结果后,对得到的数据进行处理,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。采用B/S结构的系统,具有很强的开放性,任何使用IE浏览器的用户都能访问,方便客户迅速、便捷的浏览房产开发信息,这在房产销售过程中对于宣传环节的作用尤为重要。

29、4.2层次结构设计在软件层次结构设计上,本系统采用比较流行的三层架构设计,既表示层,业务层,和数据访问层数据访问层实现对数据的访问功能,接收SQL语句与参数,返回操作数据库的结果,如创建/关闭连接,执行结构化查询语句,它直接与数据库打交道。与数据库的关系最为密切,使用频繁。业务逻辑层实现系统的逻辑功能。业务层负责按照模块,将软件业务逻辑分成若干的模块,降低了与数据访问层和表示层的耦合性,带来的好处是,方便页面升级,和业务功能的扩展。系统根据业务实体设计数据实体模型并提供相应的数据访问方法,业务实体与数据实体及集合类的映射关系如下所示:业务实体数据实体数据实体集合数据访问对象用户CAdminis

30、tratorCAdministratorListCAdministratorDal用户组CAdministratorgroupCAdministratorgroupListCAdministratorgroupDal权限CAdminrulesCAdminrulesListCAdminrulesDal公司CCompanyCCompanyListCCompanyDal客户CCustomCCustomListCCustomDal订单COrderCOrderListCOrderDal产品CProductinforCProductinforListCProductinforDal供应商CProvider

31、CProviderListCProviderDal出入库CStorageCStorageListCStorageDal仓库CWarehouseCWarehouseListCWarehouseDal4.2.3表示层表示层,就是程序页面,只负责处理用户输入,调用业务层提供的方法,并响应用户输出。由于对表示层更改是一个网站系统最常发生的维护行为,业务层和页面分离,同时,结合页面和代码分离技术,使这种经常性的维护活动对系统整体的影响降低到最小。保证网站在维护过程中可以正常运行。4.3总体流程图4.4用户权限设计系统用户可分为管理员用户与操作员用户两种,管理员用户可以对操作员用户和管理员用户授权,系统管

32、理员用户允许使用权限管理功能.权限管理功能允许用户通过设置/取消用户组权限从而修改属于该用户组的用户权限.权限管理功能允许管理员用户单独设置/取消用户组针对某项管理功能的权限.4.5管理员功能设计4.5.1登录管理员用户与操作员用户通过相同的登录入口进入系统,系统对用户输入用户名,密码,用户角色进行验证通过身份验证的用户进入管理系统桌面,执行系统后台管理功能,未通过身份验证的用户无法使用此系统后台管理功能.通过身份验证的用户在本地使用Cookie保存当前系统登录用户名.通过身份验证的用户在服务端使用Session保存当前系统登录用户的登录状态.4.5.2用户管理有权限的用户允许使用用户管理功能

33、.用户管理功能允许用户创建系统用户账户,修改系统用户信息,包括登录密码,注册邮箱,提示问题及答案用户管理功能允许用户修改系统用户所属用户组用户管理功能允许用户删除系统用户4.5.3权限管理系统采用用户组-用户,用户组-权限结构设计用户,用户组权限管理员用户可以对操作员用户和管理员用户授权,系统管理员用户允许使用权限管理功能.管理员用户具有系统用户管理,用户组管理,权限管理,公司管理,客户管理,订单管理,产品管理,供应商管理,出入库管理,仓库管理权限.操作员用户具有公司管理,客户管理,订单管理,产品管理,供应商管理,出入库管理,仓库管理权限.管理员用户可以对操作员用户和管理员用户进行动态授权.权

34、限管理功能允许用户通过设置/取消用户组权限从而修改属于该用户组的用户权限.权限管理功能允许管理员用户单独设置/取消用户组针对某项管理功能的权限.4.5.4用户管理用户信息管理包括新建用户信息,修改用户信息,删除用户信息,信息用户查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.用户信息包括编号,用户名,密码,电子邮件,提示问题,答案,注册时间,用户组编号允许管理员用户及具有用户信息管理权限的用户管理用户信息4.5.5用户组管理用户组信息管理包括新建用户组信息,修改用户组信息,删除用户组信息,信息用户组查询,信息查询时提供分组,排序功能,需要对查询

35、信息的返回结果进行分页,并显示每次查询所需要的时间.用户组信息包括编号,用户名允许管理员用户及具有用户组信息管理权限的用户管理用户组信息4.5.6权限管理权限信息管理包括新建权限信息,修改权限信息,删除权限信息,信息权限查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.权限信息包括编号,权限组,权限名,用户组编号,权限允许管理员用户及具有权限信息管理权限的用户管理权限信息4.5.7公司管理公司信息管理包括新建公司信息,修改公司信息,删除公司信息,信息公司查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时

36、间.公司信息包括编号,公司名,负责人,邮编,电话,地址,联系人,银行卡账户允许管理员用户及具有公司信息管理权限的用户管理公司信息4.5.8客户管理客户信息管理包括新建客户信息,修改客户信息,删除客户信息,信息客户查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.客户信息包括编号,姓名,地址,电话,传真,联系人,开户行,银行卡号,付款时间,销售员允许管理员用户及具有客户信息管理权限的用户管理客户信息4.5.9订单管理订单信息管理包括新建订单信息,修改订单信息,删除订单信息,信息订单查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页

37、,并显示每次查询所需要的时间.订单信息包括订单号,客户编号,产品编号,数量,单价,接收时间,factFund,状态允许管理员用户及具有订单信息管理权限的用户管理订单信息产品管理产品信息管理包括新建产品信息,修改产品信息,删除产品信息,信息产品查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.产品信息包括编号,名称,类型,编码,单位,单价,过期日期,Salemanager允许管理员用户及具有产品信息管理权限的用户管理产品信息供应商管理供应商信息管理包括新建供应商信息,修改供应商信息,删除供应商信息,信息供应商查询,信息查询时提供分组,排序功能,需要

38、对查询信息的返回结果进行分页,并显示每次查询所需要的时间.供应商信息包括编号,名称,电话,传真,添加时间,联系人,联系电话,付款时间,开户行,银行卡账户允许管理员用户及具有供应商信息管理权限的用户管理供应商信息4.5.12出入库管理出入库信息管理包括新建出入库信息,修改出入库信息,删除出入库信息,信息出入库查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.出入库信息包括编号,产品编号,供应商编号,仓库编号,入库时间,方向,管理员允许管理员用户及具有出入库信息管理权限的用户管理出入库信息4.5.13仓库管理仓库信息管理包括新建仓库信息,修改仓库信息

39、,删除仓库信息,信息仓库查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.仓库信息包括仓库编号,名称,位置允许管理员用户及具有仓库信息管理权限的用户管理仓库信息注销已登录的用户可以通过注销功能退出系统管理页面,返回登录入口.用户成功注销后,系统应清理用户保留在服务端的信息.用户成功注销后,系统应根据用户选择是否保留登录信息设置是否保留客户端信息.用户成功注销后,再次进入系统管理页面需重新登录.4.6普通用户功能设计4.6.1登录管理员用户与操作员用户通过相同的登录入口进入系统,系统对用户输入用户名,密码,用户角色进行验证通过身份验证的用户进入管理

40、系统桌面,执行系统后台管理功能,未通过身份验证的用户无法使用此系统后台管理功能.通过身份验证的用户在本地使用Cookie保存当前系统登录用户名.通过身份验证的用户在服务端使用Session保存当前系统登录用户的登录状态.4.6.2公司管理公司信息管理包括新建公司信息,修改公司信息,删除公司信息,信息公司查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.公司信息包括编号,公司名,负责人,邮编,电话,地址,联系人,银行卡账户允许管理员用户及具有公司信息管理权限的用户管理公司信息客户管理客户信息管理包括新建客户信息,修改客户信息,删除客户信息,信息客户

41、查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.客户信息包括编号,姓名,地址,电话,传真,联系人,开户行,银行卡号,付款时间,销售员允许管理员用户及具有客户信息管理权限的用户管理客户信息订单管理订单信息管理包括新建订单信息,修改订单信息,删除订单信息,信息订单查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.订单信息包括订单号,客户编号,产品编号,数量,单价,接收时间,factFund,状态允许管理员用户及具有订单信息管理权限的用户管理订单信息产品管理产品信息管理包括新建产品信息,修改产品信息,删

42、除产品信息,信息产品查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.产品信息包括编号,名称,类型,编码,单位,单价,过期日期,Salemanager允许管理员用户及具有产品信息管理权限的用户管理产品信息供应商管理供应商信息管理包括新建供应商信息,修改供应商信息,删除供应商信息,信息供应商查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.供应商信息包括编号,名称,电话,传真,添加时间,联系人,联系电话,付款时间,开户行,银行卡账户允许管理员用户及具有供应商信息管理权限的用户管理供应商信息4.6.7出

43、入库管理出入库信息管理包括新建出入库信息,修改出入库信息,删除出入库信息,信息出入库查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.出入库信息包括编号,产品编号,供应商编号,仓库编号,入库时间,方向,管理员允许管理员用户及具有出入库信息管理权限的用户管理出入库信息4.6.8仓库管理仓库信息管理包括新建仓库信息,修改仓库信息,删除仓库信息,信息仓库查询,信息查询时提供分组,排序功能,需要对查询信息的返回结果进行分页,并显示每次查询所需要的时间.仓库信息包括仓库编号,名称,位置允许管理员用户及具有仓库信息管理权限的用户管理仓库信息4.6.9注销已登

44、录的用户可以通过注销功能退出系统管理页面,返回登录入口.用户成功注销后,系统应清理用户保留在服务端的信息.用户成功注销后,系统应根据用户选择是否保留登录信息设置是否保留客户端信息.用户成功注销后,再次进入系统管理页面需重新登录.数据库设计数据库设计是分析和创建保存系统数据的数据库结构设计,数据库分析是数据库项目开发周期中一个重要的阶段,随着现代软件的发展,手工分析方式已经很难满足数据库系统数据库分析的要求,必须借助相应的工具。在数据处理中用数据模型描述客观世界中的事物及其联系,便把描述每一实体的数据成为记录,把描述属性的数据叫做数据项或字段。记录是由数据项组成。每个数据项包括两个特征:即数据类

45、型和数据长度。数据库的设计将直接影响系统的运行效率和系统进度。5.1数据表511用户表administrator名称描述数据类型长度主键自增长约束Userid编号Int3211是是否UserName用户名String50否否否PassWord密码String50否否否Email电子邮件String50否否否Question提示问题String50否否否Answer答案String50否否否RegisterTime注册时间DateTime8否否否UserGroupId用户组编号Int3211否否是512用户组表administratorgroup名称描述数据类型长度主键自增长约束UserGrou

46、pId编号Int3211是是否UserGroupName用户名String50否否否513权限表adminrules名称描述数据类型长度主键自增长约束ID编号Int3211是是否RuleGroup权限组String50否否否RuleName权限名String50否否否UserGroupId用户组编号Int3211否否是Rules权限Int3211否否否公司表company名称描述数据类型长度主键自增长约束companyNo编号Int3211是是否companyName公司名String50否否否companyCharger负责人String50否否否companyZipCode邮编String

47、50否否否companyTel电话String50否否否companyAddress地址String50否否否companyConn联系人String50否否否companyBankAccount银行卡账户String50否否否515客户表custom名称描述数据类型长度主键自增长约束customNo编号Int3210是是否customName姓名String20否否否customAddress地址String100否否否Tel电话String20否否否Fax传真String25否否否touchPeople联系人String20否否否bankAccount开户行String10否否否accou

48、ntNo银行卡号String30否否否payDate付款时间String20否否否salesPerson销售员String10否否否516订单表order名称描述数据类型长度主键自增长约束orderID订单号Int3210是是否customerNo客户编号Int3211否否是productNo产品编号Int3211否否是productCount数量Int3211否否否productUnits单价Double4否否否ReciveDate接收时间String30否否否factFundfactFundString30否否否state状态String30否否否517产品表product_infor名称

49、描述数据类型长度主键自增长约束id编号Int3211是否否name名称String10否否否type类型String10否否否number编码Int32100否否否unit单位String10否否否price单价Double4否否否protected_date过期日期String100否否否SalemanagerSalemanagerString100否否否518供应商表provider名称描述数据类型长度主键自增长约束proId编号Int3225是是否proName名称String25否否否proTel电话String15否否否proFax传真String20否否否proAdd添加时间Str

50、ing50否否否proLianxiren联系人String20否否否prolianxirenTel联系电话String20否否否proPayday付款时间String20否否否proBank开户行String20否否否probankNo银行卡账户Int3225否否否519出入库表storage名称描述数据类型长度主键自增长约束storageNo编号Int3211是否否productNo产品编号Int3211否否是providerNo供应商编号Int3211否否是warehourseNo仓库编号Int3211否否是Time入库时间String50否否否Direction方向String10否否否

51、Admin管理员String10否否否5110仓库表warehouse名称描述数据类型长度主键自增长约束warehouseNo仓库编号Int3211是是否warehouseNam名称String50否否否ewarehousePosition位置String200否否否5.2ER图详细设计6.1数据访问层实现SqlHelper类数据访问对象,封装了访问webinvoicing数据库的一组通用操作,如建立/断开数据连接,执行查询语句并返回查询结果等操作字段名称返回值描述coConnectinnon方法名称返回值描述CreateStatementPreparedStatement创建一个Prepar

52、edStatement对象,参数sqlText指示PreparedStatement对象要执行的结构化查询语句,参数paramList指示执行该查询语句所需参数Disposevoid再每次关闭数据连接时调用,用以关闭应用程序到数据库服务器的连接.ExecuteDataSetDataSetEx执行结构化查询语句,返回DataSetEx类型的结果集,参数sqlTxt指示要执行的结构化查询语句ExecuteDataSetDataSetEx(已重载)执行结构化查询语句,返回DataSetEx类型的结果集渗数sqlTxt指示要执行的结构化查询语句,参数paramList指示执行该查询语句所需参数Exec

53、uteNonQueryint执行结构化查询语句,返回int类型结果,该结果指示本次查询数据库中受影响的行数,参数sqlTxt指示要执行的结构化查询语句ExecuteNonQueryint(已重载)执行结构化杳询语句,返回int类型结果,该结果指示本次查询数据库中受影响的行数,参数sqlTxt指示要执行的结构化查询语句,参数paramList指示执行该查询语句所需参数ExecuteResultSetResultSet执行结构化查询语句,返回ResultSet类型的结果集,参数sqlTxt指示要执行的结构化查询语句ExecuteRowDataRowEx执行结构化查询语句,返回DataRowEx类型

54、的结果,该结果标识查询结果集中的第一行,参数sqlTxt指示要执行的结构化查询语句ExecuteRowDataRowEx(已重载)执行结构化查询语句,返回DataRowEx类型的结果,该结果标识查询结果集中的第一行渗数sqlTxt指示要执行的结构化查询语句,参数paramList指示执行该查询语句所需参数ExecuteScalarString执行结构化查询语句,返回String类型的结果,该结果标识查询结果集中的第一行第一列的字符表示形式,参数sqlTxt指示要执行的结构化查询语句ExecuteScalarString(已重载)执行结构化杳询语句,返回String类型的结果,该结果标识查询结果集中的第一行第一列的字符表示形式,参数sqlTxt指示要执行的结构化查询语句,参数paramList指示执行该查询语句所需参数SqlHelperSqlHelper构造函数,打开一个数据连接6.2业务逻辑层实现CAdministrator类实体类CAdministrator,映射数据表

温馨提示

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

评论

0/150

提交评论