参考基于j2eejava2platformenterpriseedition进销存管理系统的设计与实.docx
- 文档编号:11390186
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:131
- 大小:71.49KB
参考基于j2eejava2platformenterpriseedition进销存管理系统的设计与实.docx
《参考基于j2eejava2platformenterpriseedition进销存管理系统的设计与实.docx》由会员分享,可在线阅读,更多相关《参考基于j2eejava2platformenterpriseedition进销存管理系统的设计与实.docx(131页珍藏版)》请在冰豆网上搜索。
参考基于j2eejava2platformenterpriseedition进销存管理系统的设计与实
[标题]:
进销存管理系统
[功能描述]:
公司管理,客户管理,订单管理,产品管理,供应商管理,出入库管理,仓库管理,用户管理,用户组管理,权限管理
[数据库版本]:
MySql5.5数据库
[注1]:
示例源码提供了A版,C#Winform版,Java(Eclipse)版等于功能描述一致的三种版本.
[注2]:
示例源码采用MySql5.5数据库,您可以通过站点管理员(QQ)索取SqlServer,Oracle,Access等数据库的免费版本.
[注3]:
示例源码附带论文,限于篇幅仅公布数据库设计部分,关于示例源码的完整论文,请联系站点管理员(QQ)索取.
[注4]:
如需针对此题目定制开发作品,请联系站点管理员(QQ,Email:
)
1概述
1.1绪论
1.2开发背景
1.3项目意义
2开发环境
2.1Eclipse3.6
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。
JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。
EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议。
2.2MySql5.5数据库
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
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、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
2.3JDK1.6
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。
JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
JDK是学好Java的第一步。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
JDK包含的基本组件包括:
javac–编译器,将源程序转成字节码
jar–打包工具,将相关的类文件打包成一个文件
javadoc–文档生成器,从源码注释中提取文档
jdb–debugger,查错工具
java–运行编译后的java程序(.class后缀的)
appletviewer:
小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:
产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:
Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
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,ResultSet等
javax.servlet:
这个是JSP,Servlet等使用到的类
2.4JAVA
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。
Java语言是简单的。
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
Java语言是一个面向对象的。
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
Java语言是分布式的。
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
Java语言是安全的。
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
Java语言是可移植的。
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
Java是高性能的。
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
Java语言是动态的。
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
2.5J2EE技术
J2EE简介
J2EEJava2平台企业版(Java2Platform,EnterpriseEdition) J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。
J2EE的概念
目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如'编写一次、随处运行'的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
J2EE的结构
这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务.因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。
容器和服务容器设置定制了J2EE服务器所提供得内在支持,包括安全,事务管理,JNDI(JavaNamingandDirectoryInterface)寻址,远程连接等服务,以下列出最重要的几种服务:
J2EE安全(Security)模型可以让你配置web组件或enterprisebean,这样只有被授权的用户才能访问系统资源.每一客户属于一个特别的角色,而每个角色只允许激活特定的方法。
你应在enterprisebean的布置描述中声明角色和可被激活的方法。
由于这种声明性的方法,你不必编写加强安全性的规则。
J2EE事务管理(TransactionManagement)模型让你指定组成一个事务中所有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元.当客户端激活一个enterprisebean中的方法,容器介入一管理事务。
因有容器管理事务,在enterprisebean中不必对事务的边界进行编码。
要求控制分布式事务的代码会非常复杂。
你只需在布置描述文件中声明enterprisebean的事务属性,而不用编写并调试复杂的代码。
容器将读此文件并为你处理此enterprisebean的事务。
JNDI寻址(JNDILookup)服务向企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以访问名字和目录服务. J2EE远程连接(RemoteClientConnectivity)模型管理客户端和enterprisebean间的低层交互.当一个enterprisebean创建后,一个客户端可以调用它的方法就象它和客户端位于同一虚拟机上一样. 生存周期管理(LifeCycleManagement)模型管理enterprisebean的创建和移除,一个enterprisebean在其生存周期中将会历经几种状态。
容器创建enterprisebean,并在可用实例池与活动状态中移动他,而最终将其从容器中移除。
即使可以调用enterprisebean的create及remove方法,容器也将会在后台执行这些任务。
数据库连接池(DatabaseConnectionPooling)模型是一个有价值的资源。
获取数据库 连接是一项耗时的工作,而且连接数非常有限。
容器通过管理连接池来缓和这些问题。
enterprisebean可从池中迅速获取连接。
在bean释放连接之可为其他bean使用。
容器类型 J2EE应用组件可以安装部署到以下几种容器中去:
EJB容器管理所有J2EE应用程序中企业级bean的执行.enterprisebean和它们的容 器运行在J2EE服务器上. Web容器管理所有J2EE应用程序中JSP页面和Servlet组件的执行.Web组件和它们的容器运行在J2EE服务器上.应用程序客户端容器管理所有J2EE应用程序中应用程序客户端组件的执行.应用程序客户端和它们的容器运行在J2EE服务器上.Applet容器是运行在客户端机器上的web浏览器和Java插件的结合.。
3需求分析
3.1业务功能概述
3.1.1管理员功能
登录
管理员用户与操作员用户通过相同的登录入口进入系统,用户登录时需提供合法的用户名与密码,并选择系统用户类型.
通过身份验证的用户进入管理系统桌面,执行系统后台管理功能,未通过身份验证的用户无法使用此系统后台管理功能.
登录用户可保留服务端登录状态.
登录用户可保留客户端登录状态,并记录上次使用系统的用户名.
用户管理
有权限的用户应允许使用用户管理功能.
用户管理功能应允许用户创建系统用户账户,修改系统用户信息,包括登录密码,注册邮箱,提示问题及答案
用户管理功能应允许用户修改系统用户所属用户组
用户管理功能应允许用户删除系统用户
权限管理
系统用户可分为管理员用户与操作员用户两种
管理员用户可以对操作员用户和管理员用户授权.
有权限的用户应允许使用权限管理功能.
权限管理功能应允许用户通过设置/取消用户组权限从而修改属于该用户组的用户权限.
权限管理功能应允许管理员用户单独设置/取消用户组针对某项管理功能的权限.
公司管理
公司管理,需要记录编号,公司名,负责人,邮编,电话,地址,联系人,银行卡账户信息,并可以实现添加修改删除和查询操作
客户管理
客户管理,需要记录编号,姓名,地址,电话,传真,联系人,开户行,银行卡号,付款时间,销售员信息,并可以实现添加修改删除和查询操作
订单管理
订单管理,需要记录订单号,客户编号,产品编号,数量,单价,接收时间,factFund,状态信息,并可以实现添加修改删除和查询操作
产品管理
产品管理,需要记录编号,名称,类型,编码,单位,单价,过期日期,Salemanager信息,并可以实现添加修改删除和查询操作
供应商管理
供应商管理,需要记录编号,名称,电话,传真,添加时间,联系人,联系电话,付款时间,开户行,银行卡账户信息,并可以实现添加修改删除和查询操作
出入库管理
出入库管理,需要记录编号,产品编号,供应商编号,仓库编号,入库时间,方向,管理员信息,并可以实现添加修改删除和查询操作
仓库管理
仓库管理,需要记录仓库编号,名称,位置信息,并可以实现添加修改删除和查询操作
注销
当已登录的用户关闭浏览页面或退出应用程序后,再次进入系统时,需要重新登录.
3.1.2普通用户功能
登录
管理员用户与操作员用户通过相同的登录入口进入系统,用户登录时需提供合法的用户名与密码,并选择系统用户类型.
通过身份验证的用户进入管理系统桌面,执行系统后台管理功能,未通过身份验证的用户无法使用此系统后台管理功能.
登录用户可保留服务端登录状态.
登录用户可保留客户端登录状态,并记录上次使用系统的用户名.
公司管理
公司管理,需要记录编号,公司名,负责人,邮编,电话,地址,联系人,银行卡账户信息,并可以实现添加修改删除和查询操作
客户管理
客户管理,需要记录编号,姓名,地址,电话,传真,联系人,开户行,银行卡号,付款时间,销售员信息,并可以实现添加修改删除和查询操作
订单管理
订单管理,需要记录订单号,客户编号,产品编号,数量,单价,接收时间,factFund,状态信息,并可以实现添加修改删除和查询操作
产品管理
产品管理,需要记录编号,名称,类型,编码,单位,单价,过期日期,Salemanager信息,并可以实现添加修改删除和查询操作
供应商管理
供应商管理,需要记录编号,名称,电话,传真,添加时间,联系人,联系电话,付款时间,开户行,银行卡账户信息,并可以实现添加修改删除和查询操作
出入库管理
出入库管理,需要记录编号,产品编号,供应商编号,仓库编号,入库时间,方向,管理员信息,并可以实现添加修改删除和查询操作
仓库管理
仓库管理,需要记录仓库编号,名称,位置信息,并可以实现添加修改删除和查询操作
注销
当已登录的用户关闭浏览页面或退出应用程序后,再次进入系统时,需要重新登录.
3.2用例图
4概要设计
系统设计是管理系统的开发起点,也是整个管理系统实现过程中的关键环节,主要包括系统功能分析、系统模块设计等等
4.1架构设计
为实现需求分析的目标,所以,本系统采用B/S结构作为基础结构,即客户端浏览器/Web服务器/数据库结构。
在B/S模式中,客户端运行浏览器软件。
浏览器向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,由Web应用程序处理,并向数据库服务器提交SQL语句,当Web应用服务器得到数据库服务器的返回结果后,对得到的数据进行处理,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。
采用B/S结构的系统,具有很强的开放性,任何使用IE浏览器的用户都能访问,方便客户迅速、便捷的浏览房产开发信息,这在房产销售过程中对于宣传环节的作用尤为重要。
4.2层次结构设计
在软件层次结构设计上,本系统采用比较流行的三层架构设计,既表示层,业务层,和数据访问层
4.2.1数据访问层
实现对数据的访问功能,接收SQL语句与参数,返回操作数据库的结果,如创建/关闭连接,执行结构化查询语句,它直接与数据库打交道。
与数据库的关系最为密切,使用频繁。
4.2.2业务逻辑层
实现系统的逻辑功能。
业务层负责按照模块,将软件业务逻辑分成若干的模块,降低了与数据访问层和表示层的耦合性,带来的好处是,方便页面升级,和业务功能的扩展。
系统根据业务实体设计数据实体模型并提供相应的数据访问方法,业务实体与数据实体及集合类的映射关系如下所示:
业务实体
数据实体
数据实体集合
数据访问对象
用户
CAdministrator
CAdministratorList
CAdministratorDal
用户组
CAdministratorgroup
CAdministratorgroupList
CAdministratorgroupDal
权限
CAdminrules
CAdminrulesList
CAdminrulesDal
公司
CCompany
CCompanyList
CCompanyDal
客户
CCustom
CCustomList
CCusto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 参考 基于 j2eejava2platformenterpriseedition 进销存 管理 系统 设计
链接地址:https://www.bdocx.com/doc/11390186.html