




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂林电子科技大学毕业设计(论文)报告用纸编号:题目:电脑销售系统院(系):专业:计算机及应用在计算机飞速发展的今天,采用计算机来对产品进行管理已成为销售市场科学化和现代化的重要标志,它给买家和卖家都带来了明显的经济效益和社会效益。电脑在每年的销售量都保持在一个惊人的数量级上,可以说如今电脑已成为人们生活中的一部分。因此,开发一个电脑销售系统是相当有必要的。本次毕业设计要实现的是一个电脑销售系统,该系统基本实现了以下的功能:该系统使用者以管理员身份登录该系统,登陆时会有用户名和密码的验证,如果不正确就会弹出对话框,显示登陆的用户名不正确货密码错误等,如果用户名和密码都正确便可以登陆该系统,登陆系统后便可以对该系统进行相应的操作。如果该用户使用的是普通管理员的身份登陆的话,只能对商品一览表、销售表进行管理。如(管理员权限登陆):在该系统中的子页面有员工管理、商品管理等,其中,员工管理这一界面中可以有查询员工的基本信息,如员工ID、姓名、性别等;删除和修改员工错误的基本信息;还可以添加新的员工基本信息等。本课题所要设计与实现的系统是用Java结合SQLServer数据库来实现,其中主要运用Java中的GUI来设计框架,用JCreaterLE对java代码进行编译,SQLServer完成对数据库的设计,用ODBC数据源来完成数据库与Java界面之间的信息交互。关键词:销售系统;Java;SQLServer数据库;IIS服务器AbstractTherapiddevelopmentofcomputer,usingthecomputertomanagetheproducthasbecomeanimportantsymbolofthesalesmarketforscientificandmodern,hasbroughtsignificanteconomicandsocialbenefitstobothbuyersandsellers.Computerinannualsalesaremaintainedatanalarmingmagnitude,wecansaythatcomputershavebecomepartofpeople'slives.Therefore,thedevelopmentofacomputerizedsalessystemisquitenecessary.
Thegraduationprojectisacomputerizedsalessystem,thesystemhasbasicallyrealizedthefollowingfunctions:Thesystemusertologonasadministratorofthesystem,landingtherewillbeausernameandpasswordvalidation,ifincorrectitwillpopuppromptbar,displaytheloginusernameisincorrectcargopassworderror,iftheusernameandpasswordarecorrectwillbeabletologinthesystem,landingsystemafterthecorrespondingoperationofthesystem.:Inthissystem,thesubstaffmanagement,merchandisemanagement,whichcanquerythestaff,staffmanagementinterfacebasicinformationsuchasemployeeID,name,gender,etc.;delete,andmodifythebasicinformationofemployeeerror;canalsoaddnewemployeesbasicinformation
ThisprojectaretobedesignedwiththerealizationofthesystemcombinedwithJavaSQLServerdatabase,whichmainlyuseinJavaGUItodesigntheframeworkJCreaterLEjavacodecarriedcompiletheSQLServer,completethedesignofthedatabase,anODBCdatasourcetoCompletetheinformationexchangebetweenthedatabasewiththeJavainterface.
Keywords:salessystem;Java;SQLServerdatabase;theIISserver目录4419引言 页共27页引言电子商务给我们的日常生活带去的好处是显而易见的。首先,我们可以对现有的资源进行合理的利用。在经济全球化发展中,我们不能只故眼前的利益而放弃了更好的发展道路。因为互联网的普及和电子商务的日益完善,最先加入网络贸易的商家将受益无穷。供需双方可以通过Internet获得丰富的供求信息,开拓广阔渠道,捕捉商机、寻找客户,提高工作效率。电子商务是一种方式、一种媒介、一种信息共享。它可以实现无纸化办公,通过降低传统企业在制作、传送、管理和处理纸质文件的成本,不仅可以降低这些纸质文件的成本,更重要的是简化流程、减少耽搁和错误,提高公司的灵活性、应变能力和提供更好的服务能力。它还可以实现即时生产、即时经销、即时服务和即时通信。其次,互联网使我们对传统的空间概念发生变化,出现了有别于实际地理空间的虚拟空间或者虚拟社会。处于世界任何角落的个人、公司或机构,可以通过互联网紧密地联系在一起,建立虚拟社区、虚拟公司、虚拟政府、虚拟商场、虚拟大学或者虚拟研究所等,以达到信息共享、资源共享、智力共享等。然后,电子商务也任然保留了传统商品交易中的互动性。通过互联网,商家之间可以直接交流、谈判、签合同,消费者也可以把自己的反馈建议反映到企业或商家的网站,而企业或者商家则会根据消费者的反馈及时调查产品种类及服务品质,做到良性互动.借助于电子商务的如此多的优势之上,电脑销售系统不仅使我们能够快捷、迅速、自由的在线进行电脑产品的购买,还是商家之间的交流更加直接。因此,电脑销售也必将在不久的将来成为主流,所以开发一个电脑销售系统也是十分有意义的[1]。1开发环境的介绍及安装1.1Java概述 Java是一个广泛使用的网络编程语言,它是一种新的计算概念。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。 Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。 同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。1.2Java.sql的介绍 Java.sql提供使用JavaTM编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的API。此API包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。其中,JDBCTMAPI主要用于将SQL语句传递给数据库,但它还可以用于以表格方式从任何数据源中读写数据。通过接口的javax.sql.RowSet组可以使用的reader/writer实用程序,可以被定制以使用和更新来自电子表格、纯文本文件或其他任何表格式数据源的数据。1.2.1java.sqlPackage包含的内容java.sql包中包含用于以下方面的API:通过DriverManager实用程序建立与数据库的连接DriverManager类:建立与驱动程序的连接SQLPermission类:当代码在SecurityManager(比如applet)中运行时提供权限,试图通过DriverManager设置一个记录流Driver接口:提供用来注册和连接基于JDBC技术(“JDBC驱动程序”)的驱动程序的API,通常仅由DriverManager类使用DriverPropertyInfo类:提供JDBC驱动程序的属性,不是供一般用户使用的向数据库发送SQL语句Statement:用于发送基本SQL语句PreparedStatement:用于发送准备好的语句或基本SQL语句(派生自Statement)CallableStatement:用于调用数据库存储过程(派生自PreparedStatement)Connection接口:提供创建语句以及管理连接及其属性的方法Savepoint:在事务中提供保存点获取和更新查询的结果ResultSet接口SQL类型到Java编程语言中的类和接口的标准映射关系Array接口:SQLARRAY的映射关系Blob接口:SQLBLOB的映射关系Clob接口:SQLCLOB的映射关系Date类:SQLDATE的映射关系NClob接口:SQLNCLOB的映射关系Ref接口:SQLREF的映射关系RowId接口:SQLROWID的映射关系Struct接口:SQLSTRUCT的映射关系SQLXML接口:SQLXML的映射关系Time类:SQLTIME的映射关系Timestamp类:SQLTIMESTAMP的映射关系Types类:提供用于SQL类型的常量自定义映射SQL用户定义类型(UDT)到Java编程语言中的类SQLData接口:指定UDT到此类的一个实例的映射关系SQLInput接口:提供用来从流中读取UDT属性的方法SQLOutput接口:提供用来将UDT属性写回流中的方法元数据DatabaseMetaData接口:提供有关数据库的信息ResultSetMetaData接口:提供有关ResultSet对象的列的信息ParameterMetaData接口:提供有关PreparedStatement命令的参数的信息异常SQLException:由大多数方法在访问数据出问题时抛出,以及因为其他原因由其他一些方法抛出SQLWarning:为了指示一个警告而抛出DataTruncation:为了指示数据可能已经被截断而抛出BatchUpdateException:为了指示并不是批量更新中的所有命令都成功执行而抛出。1.2.2JDBCAPI中引入java.sql特性(1)JDBC4.0API中引入的java.sql特性自动java.sql.Driver发现:不再需要通过Class.forName来加载java.sql.Driver类添加了国家字符集(NationalCharacterSet)支持为SQL:2003XML数据类型添加的支持SQLException增强:为原因链添加的支持;为公用SQLState类值代码添加新SQLException增强的Blob/Clob功能:提供创建和释放Blob/Clob实例以及为了提高可访问性所添加的一些其他方法为访问SQLROWID添加的支持添加的支持,允许JDBC应用程序访问已被供应商包装的JDBC资源实例,通常在一个应用程序服务器或连接池环境中。当与PooledConnection关联的PreparedStatement已关闭或驱动程序确定为无效时要通知的可用性。(2)JDBC3.0API中引入的java.sql特性入池语句(pooledstatement):重新使用与某个已入池的连接(pooledconnection)相关的语句保存点:允许将事务回滚到某一指定保存点为ConnectionPoolDataSource定义的属性:指定将连接入池的方法PreparedStatement对象的参数的元数据从自动生成的列中获取值的能力使从CallableStatement对象中返回的多个ResultSet对象同时打开的能力通过名称和索引标识CallableStatement对象的参数的能力ResultSet可保存性:指定是否应该让游标在某一事务结束时保持打开或关闭状态的能力获取和更新Ref对象引用的SQL结构化类型实例的能力通过编程方式更新BLOB、CLOB、ARRAY和REF值的能力。java.sql.Types.DATALINK数据类型的添加:允许JDBC驱动程序访问数据源以外的地方存储的对象用于获取SQL类型分层结构的元数据的添加。(3)JDBC2.1CoreAPI中引入的java.sql特性可滚动的结果集:使用ResultSet接口中的新方法,这些方法允许将光标移动到某一特定行,或者移动到其当前位置的某一相对位置批量更新编程式更新:使用ResultSetupdater方法新数据类型:映射SQL3数据类型的接口用户定义类型(UDT)的自定义映射关系其他特性,包括性能提示、字符流的使用、java.math.BigDecimal值的完全精度、其他安全性,以及对日期、时间和时间戳值中的时区的支持。1.3开发环境1.3.1JDK开发环境JDK(JavaDeveloper’sKit),Java开发者工具包,也称J2SDK(Java2SoftwareDevelopmentKit),是SUN公司提供的基础Java语言开发工具,该工具软件包含Java语言的编译工具、运行工具以及执行程序的环境(即JRE)。JDK现在是一个开源、免费的工具。JDK是其它Java开发工具的基础,也就是说,在安装其它开发工具以前,必须首先安装JDK。
下面依次来介绍JDK的下载、安装、配置和使用。1.3.2JDK的下载如果需要获得JDK最新版本,可以到SUN公司的官方网站上进行下载,下载地址为:
/javase/downloads/index.jsp
下载最新版本的“JDK6Update6”,选择对应的操作系统,以及使用的语言即可。在下载Windows版本时,有两个版本可供下载,,分别是:WindowsOnlineInstallation:在线安装版本,每次安装时都从网络上下载安装程序,在下载完成以后,进行实际的安装。WindowsOfflineInstallation:离线安装版本,每次安装时直接进行本地安装。通常情况下,一般下载离线安装版本。其实如果不需要安装JDK最新版本的话,也可以在国内主流的下载站点下载JDK的安装程序,只是这些程序的版本可能稍微老一些,这些对于初学者来说其实问题不大。1.3.3JDK的安装Windows操作系统上的JDK安装程序是一个exe可执行程序,直接安装即可,在安装过程中可以选择安装路径以及安装的组件等,如果没有特殊要求,选择默认设置即可。程序默认的安装路径在C:\ProgramFiles\Java目录下。1.3.4JDK的配置JDK安装完成以后,可以不用设置就进行使用,但是为了使用方便,一般需要进行简单的配置。由于JDK提供的编译和运行工具都是基于命令行的,所以需要进行一下DOS下面的一个设定,把JDK安装目录下bin目录中的可执行文件都添加到DOS的外部命令中,这样就可以在任意路径下直接使用bin目录下的exe程序了。配置的参数为操作系统中的path环境变量,该变量的用途是系统查找可执行程序所在的路径。配置步骤为:1、“开始”>“设置”>“控制面板”>“系统”如果控制面板的设置不是经典方式,那么可以在控制面板的“性能和维护”中找到“系统”。当然,也可以选择桌面上的“我的电脑”,点击鼠标右键,选择“属性”打开。2、在“系统属性”窗口中,选择“高级”属性页中的“环境变量”按钮。3、在“环境变量”窗口中,选择“系统变量”中变量名为“Path”的环境变量,双击该变量。4、把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。例如JDK的安装路径下的bin路径是C:\ProgramFiles\Java\jdk1.6.0_31\bin,则把该路径添加到Path值的起始位置,则值为:C:\ProgramFiles\Java\jdk1.6.0_31\bin;C:\ProgramFiles\PCConnectivitySolution\;C:\ProgramFiles\Java\jdk1.6.0_31\bin;C:\j2sdk1.4.2_11\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
以上路径在不同的计算机中可能不同。配置完成以后,可以使用如下格式来测试配置是否成功:
1、打开“开始”>“程序”>“附件”>“命令提示符”
2、在“命令提示符”窗口中,输入javac,按回车执行如果输出的内容是使用说明,则说明配置成功。如果输出的内容是“’javac’不是内部或外部命令,也不是可执行的程序或批处理文件。”,则说明配置错误,需要重新进行配置。常见的配置错误为:1)JDK的安装和配置路径错误,路径应该类似C:\ProgramFiles\Java\jdk1.6.0_31\bin。2)分隔的分号错误,例如错误的打成冒号或使用全角的分号1.4ODBC数据源的建立1.4.1建立SQLServer数据库SQLServer是Microsoft公司推出的大型客户/服务器网络关系行数据库管理系统,是一个大规模联机事务处理、数据仓库和电子商务应用的优秀数据库平台。SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。MicrosoftSQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQLSERVER2012。特点:1.真正的客户机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。SQLServer2000与以前版本相比较,又具有以下新特性:支持XML(ExtensiveMarkupLanguage,扩展标记语言)2.强大的基于Web的分析3.支持OLEDB和多种查询4.支持分布式的分区视图配置要求安装、运行SQLServer2000的硬件需求计算机Intel及其兼容计算机,Pentium166Mz或者更高处理器或DECAlpha和其兼容系统。2.内存(RAM)企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。3.硬盘空间完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。1.4.2建立ODBC数据源选择“开始”|“控制面板”命令,双击“管理工具”|“数据源(ODBC)”图标,如图1.1所示。图1.1“数据源”图标在打开的“ODBC数据源管理器”对话框选择“系统DSN”选项卡,如图1.2所示。图1.2“系统DSN”选项卡单击“添加”按钮,在弹出的对话框中选择“SQLServer”选项,如图1.3所示。图1.3创建新数据源单击“完成”按钮,在弹出的对话框中输入“数据源名”SQLServer,然后单击“选择”按钮,选定D盘myjava文件夹下的diannaoxs文件。2系统分析2.1系统设计的背景销售是创造、沟通与传送价值给顾客,及经营顾客关系以便让组织与其利益关系人(stakeholder)受益的一种组织功能与程序。销售就是介绍商品提供的利益,以满足客户特定需求的过程。商品当然包括着有形的商品及其附带的无形的服务,满足客户特定的需求是指客户特定的欲望被满足,或者客户特定的问题被解决。能够满足客户这种特定需求的,唯有靠商品提供的特别利益。随着互联网的发展,人们获取信息的渠道已经不再局限于传统渠道,企业的新型销售渠道正一步步地建立起来。网络销售是企业整体营销战略的一个组成部分,是建立在互联网基础之上、借助于互联网特性来实现一定营销目标的一种营销手段。目前主要的网络营销平台有:Baidu营销、GOOGLE营销、YAHOO营销、TAOBAO营销、ALIBABA营销、其它各行业网站营,而本课题正是对销售的后台管理的具体化实际应用。2.2系统需求分析电脑硬件销售商店为了方便客户和自己的日常销售,需开发一个电脑硬件销售系统。客户和商家可以通过这个销售系统的对商品信息,供货档案,仓库信息,职工信息进行查询,店家可以用电脑硬件销售系统对每天的销售进行记录,每个月可以总结,根据总结的结果适当的调整商店的经营方式。对系统中各个模块的功能的详细说明:登陆模块管理(管理员身份或者普通用户身份登陆,对系统进行相应的管理)员工表管理(查询操作:可以看到员工的基本信息,如员工ID、姓名、性别等;删除、修改操作:删除和修改错误的基本信息;插入操作:可以更新加入新的员工基本信息)供货商表管理(插入操作:插入供货商ID、供货商、供货商地址等等;修改,删除操作:删除或修改进货商基本信息;查询操作:可看到供货商基本信息)销售表管理(插入操作:可以插入新的员工销售基本信息,更新表;修改、删除操作:删除、修改表中写错或是没用的销售情况;查询操作:可以看商品的基本销售情况)进货表管理(插入操作:插入新的商品的基本信息及进货人;删除、修改操作:可以删了,或是改正进货数量、货号、收账人等等;查询操作:查看商品每天进货情况及金额多等)商品一览表管理(插入:可以插入新的商品基本信息,如看到商品的货号、货名、价格等;删除操作:删掉已经没有的商品的信息;修改、查询操作:可以该不小心弄错的,查看整个商品基本信息表)退出系统(退出当前正在执行的模块的界面)2.3系统开发的目标客户和商家可以通过这个销售系统要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。调查电脑硬件销售系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是各个表的查询、删除、插入和修改的流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.4数据库分析什么是数据库呢?当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”[5]。在经济管理的日常工作中,常常需要把某些相关的数据放进这样“仓库”,并根据管理的需要进行相应的处理。例如,在本次毕业设计中的商品一览表,在该表中保存了电脑的基本参数(货号,货名,规格,单位,平均进价,参考价值,库存量),这张表就可以看成是一个数据库。有了这个“数据仓库”我们就可以根据需要随时查询电脑某货号的基本情况,也可以查询某个货号电脑的库存量等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种“数据库”,使其可以利用计算机实现财务、仓库、生产的自动化管理。3系统设计3.1总体设计在需求明确、准备开始编码之前,要做总体设计,而详细设计会在后一章节详细说明与设计。因此,对于总体设计只要介绍系统软件所需要实现的功能和操作,对后面的开发、测试、实施、维护工作起到关键性的影响[6]。在电脑销售系统中,对特别而强的功能是不要求,只需简单实现基本功能就可以了,因此以管理员登陆,员工管理,供货商管理,销售管理,进货管理,商品管理等操作功能作为基本功能来开发总体设计。总体设计的界面也是很简单的,就主要以管理员登陆页面做为主页面,其他功能的页面作为子页面。通过对该系统简单分析,所需总体设计的方面有以下几个:1)需要做好数据库的准备,通过SQLServer数据库来完成数据的输入工作,通过SQL语句来实现简单的储存过程;2)前台的页面设计尽量简单化、可视化、可操作化、可扩充化;3)前台页面功能的设计通过在JCreaterLE下编写Java页面来实现;4)要求做到本系统的扩充性和可更新性,就是在对数据库进行查询、添加、修改、删除等操作。3.1.1数据表结构的建立通过本系统,需要建立的表有五张,分别为:员工表、商品一览表、供货商表、进货表2006、销售表2006。各表的关系如下:员工表(员工ID,姓名,性别,出生日期,部门,工作时间,照片,个人简历)供货商表(供货商ID,供货商,厂家地址,账号,联系人)销售表2006(序号,销售日期,客户名称,单位,单价,数量,金额)进货表2006(货号,进货日期,货号,数量,进价,供货商ID,收货人)商品一览表(货号,货名,规格,单位,平均进价,参考价值,库存量)其表结构如下图所示。员工表员工表用来表示员工的基本信息,其表结构如表3.1所示。表3.1员工表字段名数据类型字段长度是否允许为空约束员工IDChar定长字符型5否主键、检查姓名Varchar变长字符型8否惟一性别Char定长字符型2否检查出生日期Datetime日期/时间型8否部门Nvarchar变长宽字符型5否默认工作时间Smalldatetime日期/时间型4否照片+Image图像型是个人简历Text文本型是商品一览表商品一览表用来存放商品的相关信息,其表结构如表3.2所示。表3.2商品一览表字段名数据类型字段长度是否允许为空约束货号Char定长字符型4否主键、检查货名Nvarchar变长统一字符型8否默认值规格Varchar变长字符型6否单位Nchar定长字符型2否平均进价Smallmoney短货币型4是检查参考价格Smallmoney短货币型4是检查库存量BigInt长整型整数8是默认供货商表供货商表用来存放供货商所供货物的相关信息,其表结构如表3.3所示。表3.3供货商表字段名数据类型字段长度是否允许为空约束供货商IDChar定长字符型4否主键供货商Nvarchar变长统一字符型15否惟一厂家地址Nvarchar变长统一字符型20否惟一账户Char定长字符型15否惟一联系人Varchar变长字符型8是进货表2006进货表2006用来用来表示该商家进货的相关信息,其表结构如表3.4所示。表3.4进货表2006字段名数据类型字段长度是否允许为空约束序号Bigint长整型整数8否主键、标识列进货日期Smalldatetime日期/时间型4否默认货号Char定长字符型4否外键数量Int基本整型整数4否检查进价Smallmoney短货币型4否检查供货商IDChar定长字符型4否外键收货人Varchar变长字符型8否外键(5)销售表2006销售表2006用来表示销售的基本情况,其表结构如表3.5所示。表3.5销售表哦2006字段名数据类型字段长度是否允许为空约束序号Bigint长整型整数8否主键销售日期Smalldatetime日期/时间型4否默认客户名称Nvarchar变长统一字符型30否货号Char定长字符型4否外键货名Nvarchar变长统一字符型16否默认单价Smallmoney短货币型4否检查数量Int基本整型整数4否检查金额Smallmoney短货币型4否默认销售员Varchar变长字符型8否外键3.2详细设计最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。在这个阶段,各个模块可以分给不同的人去并行设计,当然设计就本人一个人全部实现系统设计。在详细设计阶段,设计者的工作对象是一个模块,根据总体设计赋予的局部任务,设计并表达出模块的流程、状态转换等内容。该系统详细设计的有几个功能界面。比如管理员身份或者普通用户身份登陆,员工管理,供货商管理,进货管理,销售管理,商品管理等。其中把管理员登陆页面作为主界面进行设计和功能实现。详细设计主要是对总体设计进行详细的开发和设计,其中设计包括前台的界面设计和后台数据库的设计。后台对数据库的输入,对其进行分析,然后在前台进行控件的使用,代码的编程。详细设计主要包括界面的设计,操作功能的初步实现如(查询、添加、删除、修改等功能)。以及实现每一个操作功能。3.2.1功能设计界面对于总体模块设计分为以下几个基本功能。如图3.2所示。登陆管理登陆管理员工表管理供货商表管理销售表管理进货表管理商品一览表管理退出系统插入数据删除数据修改数据查询数据图3.2总体模块设计系统主界面就是管理员身份或者普通用户身份登陆的页面,其他页面作为子页面。通过用户主界面的链接来跳转其他界面。通过跳转的代码编程来实现主页面跳转到其他子页面。4系统实现4.1连接数据源的实现使用getConnection来实现数据库的连接问题。importjava.sql.*;classcondatabase{ publicstaticvoidmain(Stringgg[]) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("1ok"); Connectioncon=DriverManager.getConnection("jdbc:odbc:SQLServer"); System.out.println("2ok"); } catch(Exceptione) { System.out.println("error"); } } }4.2管理员登陆模块的实现该页面的功能就是验证登陆者的身份,如果是管理员的身份登陆的话便可以对该系统的所有数据进行相应的管理;如果是以普通用户登陆的话只能对其指定的数据进行管理。并且使用了setEchoChar(charc)这个函数来设置密文密码,使得系统的安全性更高。当用户名或者密码不正确时,便使用JDialog在输入用户名或密码不正确的时候弹出提示对话框,显示您输入的用户名或密码错误。 publicvoidactionPerformed(ActionEvente){ if(e.getSource()==queding) {if(kuang1.getText().trim().equals("")){ JOptionPane.showMessageDialog(null,"请输入用户名!"); } else{ if(newString(kuang2.getPassword()).equals("")){ JOptionPane.showMessageDialog(null,"请输入密码!"); } else{ if(kuang1.getText().trim().equals("admin")&&(newString(kuang2.getPassword()).equals("123456"))){ this.dispose(); newdatabase(); } else JOptionPane.showMessageDialog(null,"您输入的用户名或密码错误!");kuang2.setText(null) } } }if(e.getSource()==quxiao) System.exit(0); }}4.3各个表管理的实现该页面的实现主要使用的是java中表格的设计、java.awt.event以及从数据库中提取所需要的数据的代码设计等。例如,可以实现对员工表的插入、查询、删除、修改等的功能。 publicvoidinsertdata() { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:SQLServer"); PreparedStatementps=con.prepareStatement("insert员工表(员工ID,姓名,出生日期,工作时间)values(?,?,?,?)"); ps.setString(1,t1.getText()); ps.setString(2,t2.getText()); ps.setString(3,t3.getText()); ps.setString(4,t4.getText()); ps.execute(); System.out.println("OK"); ps.close(); } catch(Exceptione) { System.out.println("inserterror"); } } publicvoidactionPerformed(ActionEvente) { if(e.getActionCommand()=="插入") insertdata(); if(e.getActionCommand()=="返回") f.dispose(); }5设计过程发现问题及解决5.1密文密码的设置管理员登陆页面,在密码文本框中输入密码时,显示明文密码。因为密码框的作用就是防止别人看到所输入的文字信息,明文密码的保密性不够好,我根据《Java程序设计》这本书,还有在网上查询终于知道了怎样将明文密码设置成密文密码。那就是通过调用setEchoChar(charc)来更改显示字符,是密码框输入的文字将不会正常显示出来,而是以其他的字符代替。5.2JDialog不能单独创建在Java程序设计中,对话框通常用来提示用户或接收用户的输入。在管理员登陆界面上就用到了JDialog来创建对话框,来提示管理员登陆时候是否用户名和密码正确输入,如果不正确输入,将会弹出对话框进行提示。而对于对话框来说,它是从一个其他窗口弹出的窗口,而不是直接独立创建的。5.3图片添加后无显示在代码中添加好所需要的图片并且代码也是正确的,但是添加的图片不能正常的显示,只要检查下图片的保存路径是否是和编写的代码是在同一文件夹下面的,只要是把图片和代码放到同一文件下,就能正常的显示。5.4EventListener注册失败在Java中Swing组后不仅能产生AWT事件包(java.awt.event)中的事件,而且还有自己的事件包(javax.swing.event),包括事件和监听器接口,用于处理Swing特有事件。事件监听器(EventListener)的注册要使用Swing中属于自己的事件包,在头部中要加载javax.swing.event,以保证事件监听器的正常使用。6结论经过几个月的毕业设计的前期准备和中后期的设计,基本上会使用了Java语言编程设计系统软件的过程。了解和比较清楚的知道如何设计并使用Java中图形用户界面GUI的组件进行设计制作。通过本次的毕业设计,我掌握了系统软件的主要制作步骤和方法。一些不熟悉的控件也借助书本和网上的力量,并且知道掌握了如何使用。在实际的运用中,充分的得到体现,也让自己对软件设计有进一步的了解,在往后的工作中应该有所帮助。通过几个月的设计,电脑销售系统实现了管理员和普通用户的登陆、员工管理、供货商管理、销售管理、进货管理、商品管理等功能。基本上是满足了任务书里所提到的几个基本功能要求。各个模块中页面的设计还不是很美观,在设计过程中由于时间问题和水平的有限,所以做出的效果不是很好。在给系统的调试运行的时候,出现了运行出错的小问题。不过这个不影响本系统软件的运行和操作,但最终还是修改和解决了这个运行的小问题。谢辞3个多月来,在黎慧老师的带领和指导帮助下,我对电脑销售系统的设计和开发已经基本完成。其功能基本符合设计的要求,使得该系统具有界面简洁,系统控制简单的特点。黎老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。黎老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅给我们最详细的设计步骤实例,而且还关心我们设计的进度。在毕业设计的几个月里,从课题的选择到项目的最终完成,黎老师都始终给予我细心的指导和不懈的支持。感谢我的同学,帮助我解决了在毕业设计过程中遇到的许多问题。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意。由于开发水平有限,技术不够成熟,所以这次毕业设计不能堪称完美,但我会在以后的时间里尽量的完善它,不断的对它进行升级,解决系统可能出现的问题。参考文献[1]王秀红李兴福王新春.Java程序设计[M].中国铁道出版社,2008.1:132-211[2]吕凤顺.SQLServer数据库基础与实训教程[M].清华大学出版社,2006.9[3]埃克尔.Java编程思想(英文版·第3版)[M].北京机械工业出版社,2004.1:241-275[4]宗青.基于J2EE的成教管理信息系统的设计与实现[D].电子科技大学,2010[5]王铭杉.基于JavaEE的在线考试系统的设计与实现[D].北京邮电大学,2010[6]张晓良.基于JAVAEE平台的项目管理系统的设计与实现[D].山东大学,2008[7]郭丽华.基于J2EE的网络化考试系统的设计与实现[D].电子科技大学,2010[8]伍飞.基于J2EE架构的SSH框架研究及其在HRMS中的应用[D].江南大学,2010[9]周伟敏.基于SSH架构的工作量统计系统的设计与实现[D].安徽大学,2010[10]于建平.基于J2EE平台的高校学生工作管理系统的设计与实现[D].电子科技大学,2010.[11]杨佩理,周洪斌.Java编程基础教程[M].北京:机械工业出版社,2002:20-22..[12]张海藩.软件工程导论[M].北京:清华大学出版社,2008:100-104.[13]郭盈发,张红娟.数据库原理[M].西安:西安电子科技大学出社,2002:45-47.[14]刘云生.现代数据库技术[M].北京:国防工业出版社,2001:30-33.附录Sql.java主文件的源代码importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;importjava.awt.*;importjavax.swing.event.*;classdatabase{ JMenumenu6=newJMenu("退出系统"); publicdatabase() { JFramef=newJFrame("数据库操作"); JMenuBarmb=newJMenuBar(); JMenumenu1=newJMenu("员工表管理"); JMenumenu2=newJMenu("供货商表管理"); JMenumenu3=newJMenu("销售表管理"); JMenumenu4=newJMenu("进货表管理"); JMenumenu5=newJMenu("商品一览表管理"); JMenuItemitem11=newJMenuItem("插入数据"); JMenuItemitem12=newJMenuItem("删除数据"); JMenuItemitem13=newJMenuItem("修改数据"); JMenuItemitem14=newJMenuItem("查询数据"); menu1.add(item11);menu1.add(item12);menu1.add(item13);menu1.add(item14); item1listeneritem1=newitem1listener(); item11.addActionListener(item1); item12.addActionListener(item1); item13.addActionListener(item1); item14.addActionListener(item1); JMenuItemitem21=newJMenuItem("插入数据"); JMenuItemitem22=newJMenuItem("删除数据"); JMenuItemitem23=newJMenuItem("修改数据"); JMenuItemitem24=newJMenuItem("查询数据"); menu2.add(item21);menu2.add(item22);menu2.add(item23);menu2.add(item24);item2listeneritem2=newitem2listener(); item21.addActionListener(item2); item22.addActionListener(item2); item23.addActionListener(item2); item24.addActionListener(item2); JMenuItemitem31=newJMenuItem("插入数据"); JMenuItemitem32=newJMenuItem("删除数据"); JMenuItemitem33=newJMenuItem("修改数据"); JMenuItemitem34=newJMenuItem("查询数据"); menu3.add(item31);menu3.add(item32);menu3.add(item33);menu3.add(item34); item3listeneritem3=newitem3listener();item31.addActionListener(item3); item32.addActionListener(item3);item33.addActionListener(item3); item34.addActionListener(item3); JMenuItemitem41=newJMenuItem("插入数据"); JMenuItemitem42=newJMenuItem("删除数据"); JMenuItemitem43=newJMenuItem("修改数据"); JMenuItemitem44=newJMenuItem("查询数据"); menu4.add(item41);menu4.add(item42);menu4.add(item43);menu4.add(item44); item4listeneritem4=newitem4listener(); item41.addActionListener(item4);item42.addActionListener(item4); item43.addActionListener(item4); item44.addActionListener(item4); JMenuItemitem51=newJMenuItem("插入数据"); JMenuItemitem52=newJMenuItem("删除数据"); JMenuItemitem53=newJMenuItem("修改数据"); JMenuItemitem54=newJMenuItem("查询数据"); menu5.add(item51);menu5.add(item52);menu5.add(item53);menu5.add(item54); item5listeneritem5=newitem5listener(); item51.addActionListener(item5);item52.addActionListener(item5); item53.addActionListener(item5); item54.addActionListener(item5); menu6.addMenuListener(newMenuListener() { publicvoidmenuSelected(MenuEvente) { System.exit(0); } publicvoidmenuDeselected(MenuEvente){} publicvoi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度电子产品促销活动合作合同
- 2025版皮革行业原材料供应链金融服务合同样本
- 2025版彩钢板施工竣工验收合同
- 2025版时尚服饰店铺联合品牌转让与市场拓展协议
- 2025年度羽毛球比赛场地租赁及赛事支持合同
- 二零二五年度机房设备搬迁与维护保养合作协议
- 2026届重庆市全善中学巴南中学中考英语最后一模试卷含答案
- 《库欣病诊治专家共识(2025)》解读 2
- 国际贸易交易磋商的环节(2025版)
- 规范的车辆使用协议书参考正规2025年
- 事业单位考试职业能力倾向测验(综合管理类A类)试题与参考答案(2024年)
- 水土保持方案投标文件技术部分
- 三基三严培训课件
- 《法律法规常识讲解》课件
- 36种流行病学调查表
- 墓碑购销合同范例
- 小红书食用农产品承诺书示例
- 旧建筑物拆除的BIM流程
- 初中英语单词1600词(完整版)
- 《建筑工程设计文件编制深度规定》(2022年版)
- 屠宰场合作协议书模板
评论
0/150
提交评论