资源目录
压缩包内文档预览:(预览前20页/共50页)
编号:32183884
类型:共享资源
大小:17.31MB
格式:RAR
上传时间:2019-12-18
上传人:遗****
认证信息
个人认证
刘**(实名认证)
湖北
IP属地:湖北
25
积分
- 关 键 词:
-
煤炭
销售
系统
设计
- 资源描述:
-
煤炭销售系统设计,煤炭,销售,系统,设计
- 内容简介:
-
华科学院 华科学院 HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计(论文) 题目:煤炭销售系统学 生 姓 名 韩帅 学 号 201022030108 班 级 计算机102201H 所属院(系) 计算机科学与技术系 指 导 教 师 王丽霞 2014 年 4 月 18 日太原科技大学毕业设计(论文)任务书学院(直属系):计算机科学与技术系 时间: 2014 年 4月 18 日学 生 姓 名韩帅指 导 教 师王丽霞设计(论文)题目煤炭销售系统主要研究内容1.Java面向对象程序设计2.JavaEE企业开发方式以及相关技术3.煤炭销售的核心概念以及Java平台的实现研究方法按照软件开发CMM标准实施,具体包括,需求分析、体系结构设计、模块设计、数据库设计等相关设计。主要技术指标(或研究目标)JavaEE企业核心技术(servlet、jsp、jdbc、框架ssh、工作流引擎jbmp)主要参考文献1商品管理系统的研究开发设计及利用 赵明才2商场商品库存管理系统的设计与实现 曹云鹏3商品进销存管理信息系统的设计 何扬名4基于Internet的连锁门店营销系统的设计与实现 王秀花 煤炭销售系统摘 要随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。在对煤炭企业进销存业务详细调查的基础上,根据系统所需功能,决定以J2EE为开发平台,采用SQL Server 2000做后台数据库,Tomcat作为系统服务器,选择功能强大的MyEclipse为开发工具进行开发。前台页面使用JSP,并且使用了基于MVC机制的Struts技术。实践证明:该系统经济、实用,具有良好的拓展性、稳定性、安全性、可靠性本论文主要分八章,第一章为引言主要介绍其背景和意义等;第二章为需求分析其主要介绍系统开发前的各项需求;第三章为系统分析其主要是从组织、业务和数据流方面进行分析,第四章为总体设计主要介绍系统的功能;第五章数据库设计主要是介绍数据库结构设计和连接方法;第六章详细设计主要介绍其系统的实现和功能的描述;第七章为系统测试和性能分析主要介绍系统的测试方法、测试实例以及性能分析;第八章为系统总结主要是对设计和对全文的总结关键词:煤炭销售管理系统,Java ,SQL SEVER 2000ABSTRACTWith the development of such companies, the business has constantly increased, the traditional manual approach has been unable to meet the needs of enterprise Invoicing management business, resulting in low efficiency and poor flow of information severely restricted the type of company develop. Therefore, developing an Invoicing management system is very necessary. Invoicing in the auto parts companys operations on the basis of detailed investigation, I am using a structured approach to the system were analyzed, but also carried out a detailed system design. Finally, I used the suns eclipse3.2 development tool for front, SQL SEVER 2000 database to do back-office support, carried out with the Java programming language. After a thorough debugging and testing, the system can be running, basically to meet the auto parts companys purchase, sales, inventory management needs.This paper mainly consists of eight chapters, the first chapter introduces the background for the introduction and significance; second chapter focuses on the needs analysis of their systems before the development of the demand; third chapter is mainly for the systematic analysis of their organizational, operational, and data analysis of flow in the fourth chapter describes the overall design of the main functions of the system; fifth chapter is to introduce the database design, database structure, primarily the design and connection method; sixth chapter focuses on the detailed design and functionality of their systems to achieve a description; 7th s for system testing and performance analysis focuses on the system testing methods, test examples and performance analysis; summary of Chapter VIII of the system mainly for the design and summary of the full-text Keywords: Invoicing management system,Java,SQL SEVER 2000目 录第一章 引言11.1 煤炭企业系统的开发背景11.2 国内外发展状况11.3 系统所要达到的目标2第二章 需求分析32.1 可行性研究32.2 需求分析4第三章 系统分析73.1 企业组织结构分析73.2 业务流程分析83.3 数据流程分析10第四章 系统设计164.1 功能模块设计164.2 处理流程设计184.3 代码设计22第五章 数据库设计245.1 数据库的概念设计245.2 数据库逻辑结构设计245.3 数据库物理结构设计25第六章 详细设计356.1 程序设计356.2 输入输出界面设计36第七章 系统测试与性能分析407.1 调试与测试407.2 性能分析41第八章 总结42谢 辞43参考文献44 第一章 引言1.1 煤炭企业系统的开发背景 近几年我国煤炭开采呈现持续火爆的势头,有专家预测,我国煤炭技术产业在全国经济收入中占据的位置越来越重要。如何提高自己煤炭企业的生产和运营效率,成为企业发展中必须考虑的问题。在现在网络飞速发展的背景下,设计煤炭企业进销存管理系统来促进企业生产效率的提高也是一个很好的手段。当前形势下,仅仅靠原始的手工管理或简单的单机管理是不够的,商品部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。公司管理者的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。公司集团非常急需一套既有先进管理思想又适合国内大商业的在线进销存管理信息系统,作为实现目标和提高现有水平的一种重要手段。煤炭企业进销存管理系统是一个公司不可缺少的部分,它的执行对于公司的决策者和管理者来说是很有帮助的, 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。1.2 国内外发展状况煤炭企业销售管理系统在国内外都是一个已经发展了很久的行业,关于销售管理的各种系统也是多样化的,系统的人性化设计是加强了领导层和生产层之间联系,使领导实时了解企业的生产经营状况,及时提出自己的见解。由于我国经济的发展迅速,带动了高新技术的发展,对系统的设计也是向多功能方面发展。公正、公平、合理的商业管理理念和商业管理水平的提高,使企业对在线进销存管理系统有了更高的需求;同时由于电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使得在线进销存管理系统的出现成为必然。在线进销存管理系统的特点是从企业生产的角度出发,用集中的数据库将几乎所有生产与商品相关的数据统一管理起来,形成了集成的信息源。在国内外企业管理方面来看,利用好网络是公司成功的基石。中国加入WTO,中国的中小企业面临的服务领域的竞争压力更大。如何推进企业管理的现代化、专业化、市场化是所有公司面临的紧迫课题。面对激烈的竞争,企业也在不断的寻找能够加强自身竞争力的手段。这时一个比较完善高效的在线进销存管理系统就越发显得重要了! 煤炭销售企业管理信息系统的建设始于20世纪80年代后期。经过20多年的发展,煤炭销售管理信息系统建设已经初具规模。信息系统的发展经历了从单机系统、局部网络系统到整个部门统一信息系统的多个阶段。但是,由于煤炭销售管理信息系统的建设涉及面广、信息量大、数据交换频繁,是一项非常复杂的系统工程。由于受资金和管理模式的影响,现行管理信息系统的建设存在的问题很多。比如业务流程不规范,系统稳定性差。一些地方设计的系统只是手工操作的简单翻版,系统运行一段时间后,才发现有很多业务流程需要优化,致使系统不得不进入第二次开发。还有一些系统,由于各种各样的原因,应用效果不理想,长期搁置不用,导致系统的发展后劲不足。除此之外,由于业务系统标准规范不统一,缺乏统一管理,也给管理信息系统间的信息共享和信息交换造成了障碍。所有的这些状况已经影响了煤炭销售工作的正常运行和企业的健康发展,建立一个科学可靠高效的管理信息系统已经成为了必然。 1.3 系统所要达到的目标系统开发的总体任务是实现进销存管理系统的信息化,系统化,规范化和自动化,从而达到提高进销存管理的效率、进销存管理系统能够将进货、销售、库存进行一体化管理系统。针对汽车配件公司的进货、销售、库存、查询业务,本系统应该达到以下目标:1、 实现商品信息管理,供应商信息管理,客户信息管理的增加、修改和删除的功能。2、 实现库存信息的及时共享,以便能够准确及时地采购商品以及库存价格的调整。3、 实现库存信息的及时共享,以便能够准确及时地对商品进行销售。4、 实现商品的入库和出库管理功能,通过计算机能够直接了解和透视仓库存储情况,并且通过库存盘点能及时清查商品损溢数量。 5、 实现客户信息查询、商品信息查询、供应商信息查询、销售信息查询、销售退货查询、入库查询、入库退货查询并且支持多条件查询以及销售排行。6、 实现对销售报表、采购报表、库存报表的统计功能。7、 对系统用户名和密码的设定具有安全管理机制,保证系统资源不受人为因素的干扰。能对用户名和密码进行维护,实现系统的权限设置,保证系统安全。支持多人操作,有权限分配功能,能自动生成各种编码。 设计系统的过程中应本着以实用为本的思想,争取达到功能相对完善,界面美观大方,操作简洁明了,容错性良好等设计目标。第二章 需求分析2.1 可行性研究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。2.1.1 经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。2.1.2 技术可行性本系统的开发主要涉及的是硬件和软件两方面的技术问题。(1)硬件方面进销存管理系统对计算机的的硬件有一定的要求,其应用程序要求32MB或以上的内存,存储空间最低要求是20G,CPU要求是奔腾4或者处理速度更快的。而汽车配件公司现有的硬件的兼容性,稳定性基本满足本系统的要求,并且公司购买了相关的硬件,为系统实施奠定了良好的基础。(2)软件方面操作系统使用Windows XP/2003,开发工具是eclipse3.2,数据库使用的是SQL SEVER 2000。本系统采用SQL SEVER 2000数据库做后台支持,前台是用Java语言在Eclipse3.2平台上开发的。而且这些工具都是开源的,在SUN公司的网站上都能下载。因此,对于汽车配件公司这些软件都是免费的,减少了公司的成本。Eclipse3.2 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。很好的是Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。采用Java可极大减少应用软件的安装、支援和升级应用所需的工作量,而且面向对象特性高,支持的组建技术非常多,跨平台的特性也使得它在现在和未来的开发中占据越来越重要的地位。SQL SEVER 2000是Microsoft公司推出的基于客户/服务器(C/S)模式的数据库系统,它提供强大的企业数据库管理功能,是目前世界上几个主流数据库管理系统之一,在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高。综上所述,本系统的设计与开发在技术上和硬件设备上的要求公司都是满足的,本系统在技术上是完全可行的。2.1.3 运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。2.1.4 时间可行性从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。2.1.5 法律可行性 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄袭任何系统,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上等都是完全可靠的。2.2 需求分析需求分析是软件设计的一个重要的环节。本阶段对系统管理系统的应用情况作全面调查,以确定系统目标。确定用户的需求。用户对系统的需求我们从以下几方面进行分析。2.2.1 系统需求用JSP开发系统管理系统基于B/S模式,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。所有的工作基于浏览器,安装、使用、维护、升级十分简单。2.2.2 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行。系统处理的准确性和及时性是系统的必要性能。由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。2.2.3 应用需求分析服务器硬件处理器:Intel 酷睿2 内 存:256M 或更大硬 盘:20G 或更大软件Microsoft Windows XP客户机硬件无特殊要求软件Microsoft Windows XP 系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 硬件系统环境:C600、1G MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好2.2.4 运行需求分析硬件条件:酷睿2 CPU、1G RAM、10 G硬盘以上的PC机。软件条件:Windows XP 2.2.5 系统的开发环境本系统在Windows XP操作系统上开发,用Eclipse3.2进行前台界面设计,SQL SEVER 2000 进行后台数据库设计。Eclipse3.2 在开发上和实施过程中体现了优越性,主要的特点表现在以下几个方面:1、易于使用;2、可视化开发;3、面向对象编程;4、平台的核心很小,其他功能都是基于此核心写成插件,这样的插件包括Eclipse的图形API(称为SWT/JFace)、Java开发环境插件(简称JDT)、插件开发环境(简称PDE)等。Eclipse3.2还对这些插件的协同工作提供了良好的支持,不仅安装简单,还可以很好结合。5、Eclipse在使用插件时是动态载入和动态调用的,Eclipse启动后要真正用到某个插件时,该插件才会被调入内存,当该插件不再被使用时,它就会在适当的时候被清除出内存。因此即使装了一大堆插件在Eclipse中,也不必担心某些不常用的插件白白消耗内存。这样使编程编译的速度大大提高。6、对于图形界面设计,支持界面拖放功能,同时能生成简易的代码,使编程工作更方便。SQL SEVER 2000能够提供数据库之间的数据复制功能,对于数据库的转移相当方便,避免了手工传递工作,降低了出错率,提高数据的可用性。同时SQL SEVER 2000具有防止问题发生的安全措施,防止多个用户试图同时更新相同的数据。为了测试程序的运行环境,在多台配置不同的计算机上进行调试均能正常运行。结合程序所占硬盘和内存的情况分析硬件环境的配置,主要考虑了以下几个方面:1、高度的可靠性:要保证主机、操作系统、网络、数据库、应用软件等系统724 小时平稳运行,最大限度减少停机时间。2、主机系统的先进性和高扩展性,以满足业务近期、中期设置长期时间范围数据快速增长的需要。3、易维护和易管理,以减少日常管理和维护的工作量,便于性能的调节和故障排除。当使用系统时,要求计算机配置有Eclipse3.2 和 SQL SEVER 2000软件,这样才能实现系统前后台的操作和应用。 2.2.6 其他需求分析本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。第三章 系统分析3.1 企业组织结构分析公司的高层按照一名总经理和两名副总经理主管的模式,下设有市场销售部、库存部、采购部、财务部、人力资源部、综合部。总经理负责公司总体事务的决策和财务部,副总经理分别负责销售部、库存部、采购部、财务部、人力资源部和综合部以及一些主要事务的决策,同时给总经理的决策提供参考意见。各部门的具体职能如下:市场销售部主要职能是:围绕公司下达的销售目标拟写营销方针和策略计划,开拓市场,销售产品,提供服务,销售人员管理和培训,市场调研和市场预测、策划,销售工作的监察和评估等。库存部的主要职能是:商品信息的管理,商品的采购和客户退货入库管理,商品的销售和向供货方退货的出库管理,商品的库存盘点,库存信息的查询,负责库存的安全保卫工作,严防产品受损被盗。采购部的主要职能是: 采购公司所需物资,保证生产经营活动持续进行, 掌握市场信息,开拓新货源,优化进货渠道,降低采购费用。会同库存部、市场销售部确定合理物资采购量,及时了解存货情况,进行合理采购。选择、评审、管理供应商,建立供应商档案。组织供货合同评审,签订供货合同,实施采购活动。建立采购合同台帐,并对合同执行情况进行监督。进行市场寻价,采购所需物资。采购物资的报验和入库工作。采购过程中的退、换货工作。采购部合同、供应商档案、各种表单的保管与定期归档工作,同时做好保密工作。财务部的主要职能是:负责公司的财务运营状况,包括公司费用的支出、日常费用、各收费项目的报表统计与核算、所有员工工资核算的业务及相关税金支出计算等。准确及时地完成各类报表的上报和汇总工作;负责公司职员的医疗、养老等保险统筹金和住房公积金的审核、交纳等工作。人力资源部的主要职能是:负责制定完善公司人力资源政策,以及公司的劳动、人事、分配制度改革方案。负责组织机构及岗位的设计、评价和改善工作,健全内部管理制度负责组织工作分析,岗位说明书的编写及人员的定岗定编工作。负责制定符合公司发展战略的人力资源战略规划,制定公司的培训及职业生涯发展制度,并组织实施。密切和全公司员工的沟通,合理进行人事调配,并即时修正人力资源政策和制度,以保证人力资源处于良好状态,使优秀人才能得以发挥优势、并获得相应的报酬和待遇。负责员工招聘、聘任、岗位变动的管理工作,建立和维护员工档案。负责制定员工绩效考核的标准和制度,并定期组织绩效考核、并对绩效考核结果进行公布。负责建立畅通的沟通渠道,负责受理员工投诉,及时了解员工想法和建议,负责制定公司薪酬体系,编制工资、福利计划及员工薪资方案,并适时进行调整。了解国家及地方劳动法律关系,处理劳资关系,办理员工劳动合同、社会保障等工作。制定及完善公司内部的职称评聘体系,负责组织公司员工的职称评定工作和社会保障工作。综合部的主要职能是负责管理公司的内勤工作以及公司档案管理和公司计算机系统应用,保障本单位的信息资料和网络安全;负责指导和协作本单位各部门信息系统的正常运作和设备维护;负责各部门系统硬件技术的支持和硬件设备的管理,同时及时做好重要资料的存储与备份工作。该公司的组织结构如下:图3-1 进销存管理系统组织结构图3.2 业务流程分析业务流程应顺着系统信息流动的过程逐步地进行,内容包括各环节的业务处理、信息来源、处理方法、信息流经去向、信息提供的时间和形态(报告、单据等)。本系统采用管理业务流程对业务进行描述,具体的业务流程描述如下:1、销售管理业务流程描述:销售人员接到客户的订货单,对订货单进行审核,订货单审核合格后给客户发提货清单,同时销售人员发商品出库单给仓库管理员,并将商品出库单发给财务部,以便财务部登记记账。客户拿提货清单到库存部去提货。销售人员从库存部得到商品库存信息,如果库存中没有客户所需的订货,而客户又不是立刻需要取货,销售人员将发暂存订单给采购部。当客户因某种需要退货的时候,将退货申请单提交给销售人员,销售人员经过审核后,发退货通知单给客户,销售人员接到退货以后,发销售退货到货通知单给库存部,库存部发销售退货入库单给销售人员,将退货入库。同时仓库管理员发一联销售退货入库单给财务部,以便财务部登记记账。销售人员还将统计每月的销售报表发给副总经理,为高层的决策分析提供参考。2、仓库管理业务流程描述:仓库管理员审核客户的提货清单,根据提货清单给客户发货,同时仓库管理员登记出库流水账,并更新到库存台帐。因商品不合格,客户需要退货,销售人员将退货到货通知单发给仓库管理员,仓库管理员发销售退货入库单给销售人员,将销售退货入库,并登记退货入库流水账,更新到库存台账。仓库管理员还发一联销售退货入库单给财务部,以便财务部登记记账。同时仓库管理员还将库存信息发给采购员,当收到采购员的商品到货通知单后,仓库管理员发商品入库单给采购员,将商品入库,并登记商品入库流水账,并更新到库存台帐。同时仓库管理员发一联商品入库单给财务部,以便财务部登记记账。由于客户因为商品滞销或者其它原因有退的部分商品,采购员需要与供应商联系,仓库管理员收到采购员发来的进货退货出库单,仓库管理员根据进货退货出库单将退货出库,登记出库流水账,并更新到库存台账。同时采购员发进货退货出库单给财务部,以便财务部登记记账。仓库管理员还将定期的盘点仓库的商品,如果发现盘亏,则登记商品出库流水账,如果盘盈,则登记商品入库流水账,并且更新库存台账。同时将库存盘点单提交给财务部门作为记账凭证,仓库管理员还将每月库存报表提交副总经理。3、进货管理业务流程描述:采购员根据库存信息对仓库的商品进行补充,将订货单发给供应商,供应商将提货通知单发给采购员,采购员接到商品以后,发商品到货通知单给仓库管理员,仓库管理员发商品入库单给采购员,将所订商品入库。如果库存部有商品需要退货,采购员将进货退货清单发给供应商,同时将进货退货出库单给仓库管理员,进行退货,同时采购员还发一联进货退货出库单给财务部,以便财务部登记记账。进销存管理系统业务流程图如下:图3-2 进销存管理系统业务流程图3.3 数据流程分析数据流程图(DFD)是系统开发结构化方法的核心,它从数据传递与加工的角度,以图形的方式描绘数据从输入移动到输出所经历的变换过程。数据流程图由数据流、数据存储、数据处理和外部实体四要素组成。数据流图为后期的功能模块设计提供了依据。通过对汽车配件公司进销存系统的业务流程的调查和分析,再通过数据流程对业务流程改造,改造后的系统是自动化系统,是人机交互的过程,因此定义自动化边界以外的实体均为外部实体。由于数据流图是遵循“逐层细化”的原则,因此首先要完成数据流程图的顶层图,顶层图是将外部实体分离出来,把软件系统看成一个大的加工,再画出外部实体的输出数据流和输入数据流。在顶层图中无需表示出数据存储。进销存管理系统的数据流图顶层图:进销存 管理系统 供应商 客户 客户基本信息客户订货信息订货信息商品出库信息 提货通知信息退货申请信息 进货退货信息退货通知信息 供应商基本信息商品出库信息 及交款凭证 采购报表 副总经理货 货 库 销 进 物 物 存 售 货 出 入盘 退 退 库 库点 货 货 信 信 销售报表 信 入 出 息 息息 库 库 库存报表 财务部 信 信 息 息 图3-3 进销存管理系统数据流图顶层图根据系统的逻辑需要,将顶层图的加工分解为若干个子加工,通过数据流进行相连体现出流程,同时画出向对应的存储结构形成一层图,此时已基本表示出系统的功能和数据的描述。一层数据流图如下:副总经 理 P1销 售管 理 P2库 存管 理客 户 客户订货信息销售报表商品出库信息 退货申请信息 退货通知信息 客户基本信息 商品出库信息财务部 销售退货到货通知D3库存信息库 D4 销售退货信息库销售退货入库信息ixD2 销售信息库 商品出库信息 销售退货入库信息商品入库信息 库存信息副总经 理 库存报表 库存盘点信息 商品入库信息商品到货通知信息D3 库存信息库采购报表 进货退货出库信息D6 进货退货信息库 D5 进货信息库 库存信息 P3进 货管 理供应商 供应商基本信息采购员订货信息提货通知信息进货退货出库信息进货退货信息图3-4 进销存管理系统数据流程图一层图一层图尚未将功能描述清楚,则仍需继续分解加工处理直至不可再分解为止,至此,整个系统的具体数据流程表示完整。销售管理数据流图二层图: D1 客户信息库 P1.1基本信息录入 D8商品信息库客户P1.2验证订货单 客户基本信息 客户订货信息 不合格订货信息合格的订货信息 退货 退货 通知 申请 信息 信息 商品出库信息P1.3销售退货处理 D4 销售退货信息库 P1.4检索商品库 存 销售退货 到货通暂存订单信息采购部 知信息 库存部 商品D3 库存信息库出库 信息 存在的商品信息 P1.5销售处理P1.6记录销售历史D2 销售信息库销售信息销售汇总P1.7 销售报表统计副总经理财务部 商品出库信息销售报表图3-5 销售管理数据流图二层图仓库管理数据流图二层图:P2.1商品 出库处理 客户 商品出库信息及交款凭证商品出库信息 采购部 进货退货出库D3库存信息库 信息 商品盘亏P2.2库存盘点处理 信息仓库管理员 盘点 信息 商品 盘盈财务部 信息 库存盘 点单信息 库存信息 P2.3商品入库处理 销售部商品入库信息 销售退货入库信息 进货入库信息销售退货到 库存信息 货通知信息 销售退货 入库信息 进货到进货入财务部副总经理P2.4库存报表统计 货通知 库信息 采购部 库存库存信息 报表图3-6 库存管理数据流图二层图进货管理数据流图二层图: 采购员P3.1 订货单录入 采购员P3.1 订货单录入 供应商 订货信息 供应商基本信息 订货信息 P3.2录入基本信息 D7 供应商信息库库存部P3.3验收核对商品提货通知信息 商品到货通知信息 库存信息 进货退货 出库信息P3.6核查商品库存P3.4记录进货历史D5 进货信息库 D6 进货退货信息库进货信息进货退货信息进货退货出库信息副 总经 理P3.5采购报表统计供应商财务部采购报表图3-7 进货管理数据流图二层图第四章 系统设计在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计。物理模型主要解决怎样做的问题,这是系统设计的主要任务。系统设计的好坏直接影响系统功能能否实现的问题,所以系统设计是非常重要的,在这里从功能模块设计、代码设计、数据库设计、输入输出设计四个方面进行系统的设计。4.1 功能模块设计根据系统要求,煤炭进销存管理系统的主要模块包括基本信息管理、进货管理、销售管理、库存管理、查询统计、系统管理等6个主要的功能模块,系统功能结构图:图4-1 进销存管理系统功能结构图1、基本信息管理模块 (1)供应商信息管理 供应商信息管理提供客户信息管理的功能,包括供应商信息的添加功能和供应商信息修改与删除功能。 (2)商品信息管理 商品信息管理提供客户信息管理的功能,包括商品信息的添加功能和商品信息修改与删除功能。(3)客户信息管理功能 客户信息管理提供客户信息管理的功能,包括客户信息的添加功能和客户信息修改与删除功能。2、进货管理模块 (1)进货 进货提供商品的进货功能,包括购进商品信息的添加功能,商品的入库功能的提供,同时简单的提供购进商品所需金额的计算功能。 (2)进货退货 进货退货提供购进商品的退货功能,包括需要退出的商品信息的添加功能,商品的出库功能的提供,同时简单地提供退出商品所得金额的计算功能。 3、销售管理模块 (1)销售 销售提供商品的销售功能,包括销售商品信息的添加功能,商品的出库功能的提供,同时简单地提供销售商品所得金额的计算功能。 (2)销售退货 销售退货提供客户将购进的不合格的商品的退货功能,包括商品信息的添加,商品的入库功能的提供,同时简单地提供客户要退商品所需金额的计算功能。4、库存管理模块 (1)库存盘点 库存盘点提供库存中商品的盘点功能,提供商品盘点数量和账面数量的对比,并且显示商品的损益数量功能。 (2)商品入库 商品入库提供采购员所购商品的入库和客户所退商品的入库功能。并将商品信息添加到库存中。 (3)商品出库 商品出库提供了对客户所需商品的出库和因商品不合格向供应商所退商品的出库功能。5、查询统计模块 (1)客户信息查询 客户信息查询提供了客户信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有客户的信息。 (2)供应商信息查询 供应商信息查询提供了供应商信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有供应商的信息。 (3)商品信息查询 商品信息查询提供了商品信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有商品的信息。 (4)入库信息查询入库信息查询提供了商品入库信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有商品入库的信息。 (5)进货退货查询进货退货查询提供了进货退货信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有进货退货的信息。 (6)销售信息查询 销售信息查询提供了销售信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有商品销售的信息。(7)销售退货查询销售退货查询提供了销售退货信息的单条记录的查询,可以采用精确和模糊查询两种方式,同时也能够查询显示所有销售后被退回的信息。(8)报表统计报表统计提供了对销售报表、采购报表、库存报表的统计功能。为高层领导的分析和决策提供重要的依据和参考。 6、系统管理模块 系统管理模块提供了对用户的管理,包含密码的修改,权限的设置和退出系统等功能。4.2 处理流程设计4.2.1 系统操作流程图如下图所示错误信息系统主界面系统登录界面系统管理输入操作员及密码数据库检查密码错误密码正确功能界面功能处理图4-2 系统操作流程图4.2.2 数据增加流程添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:开始自动生成编号输入数据是否合法写入数据库结束图4-3 数据增加流程图4.2.3 数据修改流程在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图4-4所示。开始选择需要修改记录输入数据是否合法写入数据库结束图4-4 数据修改流程图4.2.4 数据删除流程当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图4-5所示。开始选择需要删除记录是否删除更新数据库图4-5数据删除流程图4.3 代码设计在MIS中,每种实体都必须有代码。代码是代表事物名称、属性、状态等的符号,是数据的重要组成部分,它唯一表示实体,节省存储单元,提高数据处理效率,便于数据的存储和检索。代码是人和机器的共同语言,是系统进行信息分类、校对、统计和检索的依据。代码字符设置精确合理,无论是记录、记忆、还是存储,都可以节省时间和空间。根据系统所涉及的数据特点,将代码设计如下:(1)人员编号的代码设计无论是销售部、库存部的工作人员还是采购部的工作人员,都统一编号,以便于公司统一管理。人员编号分为两个部分,包括人员所在部门的拼音缩写,比如销售部门的拼音缩写就是XS;还包括人员的排序编号,参考下属工作人员的人数,编号长度设为2位,即第一位员工编号为01,以此类推,综上所述,若一名工作人员是在销售部工作,则其编号可以定位XS。人员编号的具体的代码如下图所示。XS01顺序号 部门名称拼音缩写代码图4-6 人员编号的代码 (2)进货编号的代码设计 进货编号是采购员从供应商那里进货的编号,由于采购员是根据每天的库存信息来进行商品的采购,然后入库,因此进货编号的设计采用的是区间码编码格式,分为三个部分,第一部分是商品进货的拼音缩写,如JH,第二部分是当天进货的日期,若今天的日期是2009年5月20日,则为20090520,第三部分则是办理进货票号的顺序号,若办理的是第一笔进货,则编号为001,以此类推,三者结合到一起,则成为完整的进货编号。区间码从结构上反映了数据的类别,便于计算机分类处理,排序、分类、插入和删除也比较容易。进货编号代码如下图所示。JH20090520001 顺序号 进货当天日期 进货拼音缩写图4-7 进货编号的代码(3)销售编号的代码设计销售编号是销售员销售的编号,由于销售员对商品的销售是每天都会发生的,检索库存的信息,然后销售出库,因此销售编号设计分为三个部分,第一部分是销售拼音的缩写,如XS,第二部分是销售商品当天的日期,若当天的日期是2009年5月25日,则为20090525,第三部分是销售商品的顺序号,第26笔业务,顺序号就为026,以此类推,三者结合到一起,则是完整的销售编号,进货退货编号、销售退货编号的代码设计和进货编号的代码设计类似,只是第一部分的票号类型拼音缩写不一样,其余的都是按日期和顺序号组成了。销售编号代码如下图所示。 XS20090525026 顺序号 销售当天日期 销售拼音缩写图4-8 销售编号的代码第五章 数据库设计5.1 数据库的概念设计数据库的概念结构设计是反映全组织信息需求的整体数据库概念结构(概念模式)。概念模式必须是独立于计算机硬件和具体数据库管理系统,不受特定DBMS(数据库管理系统)的限制,不考虑计算机软硬件技术细节。在需求分析阶段得到的数据流程图对数据的动态运动轨迹进行了描述,数据库需求分析定义了数据本身的静态特征,但他们反映的仅是应用需求,并无反映出数据之间的本质联系(即数据的内在特征)。管理系统主要以管理员、教师、学生来共同完成一个业务流程。他们之间存在着数据关联并且靠数据库关键字段进行索引,建立表关联。ER图如下:图5-1 总体E-R图5.2 数据库逻辑结构设计设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。设计逻辑结构时一般要分三步进行:将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,关系模型的逻辑结构是一组关系模式的集合。而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式。本管理系统所存在的数据库中有不同的表结构,这些物理表中存放着各种网站所调用的数据,为整个网站的流程提供最基本的数据来源。本网站采用SQL SEVER 2000数据库它是由Microsoft公司开发。对于它的安全性和易操作性来说是开发者首选。 5.3 数据库物理结构设计 数据库在整个进销存管理系统中占据重要的地位,数据库结构设计的好坏直接影响系统和实现的效果。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度。本系统采用SQL SEVER 2000 的数据库,根据分析阶段对实体和联系的分析结果,进行表结构设计,可以得到以下数据表。 1、供应商信息表这个表主要记录供应商的基本信息,进货管理模块录入,表结构如下:表5-1 供应商信息表(tb_gysinfo)字段名称数据类型字段大小是否主键说明idvarchar7主键供应商编号namevarchar30供应商名称addressvarchar30供应商地址bianmavarchar6邮政编码telvarchar13电话faxvarchar15传真lianvarchar8联系人yhvarchar20开户银行mailvarchar40电子信箱2、商品信息表这个表主要记录商品的基本信息,主要是供应商商品的主要信息,方便以后订购各种商品,库存管理模块录入,表结构如下:表5-2 商品信息表(tb_spinfo)字段名称数据类型字段大小是否主键说明idvarchar6主键商品编号spnamevarchar30商品名称dwvarchar10商品计量单位ggvarchar10商品规格bzvarchar20包装phvarchar20批号memovarchar50备注gysnamevarchar30供应商名称3、客户信息表这个表主要记录客户的基本信息,销售管理模块录入,表结构如下:表5-3客户信息表 (tb_khinfo)字段名称数据类型字段大小是否主键说 明idvarchar6主键客户编号khnamevarchar30客户名称addressvarchar30客户地址bianmavarchar6邮政编码telvarchar13电话faxvarchar15传真lianvarchar8联系人mailvarchar40电子信箱yhvarchar20开户银行4、库存信息表这个表主要记录库存商品的基本信息,库存管理模块录入,表结构如下:表5-4 库存信息表(tb_kucun)字段名称数据类型字段大小是否主键说明idvarchar6主键商品编号spnamevarchar30商品名称cdvarchar30产地bzvarchar20包装dwvarchar10商品计量单位djmoney8商品单价kcslint8商品数量5、进货信息表这个表主要记录商品入库的详细信息,进货管理模块录入,表结构如下:表5-5 进货信息表(tb_ruku_main)字段名称数据结构字段大小是否主键说明rkIDvarchar13主键进货编号spidvarchar6商品编号djmoney8商品单价slint8商品数量jemoney8总计金额gysnamevarchar30供应商名称rkdatedatetime8入库时间jsrvarchar30经手人jsfsvarchar10结算方式6、销售信息表这个表主要记录销售的详细信息,销售管理模块录入,表结构如下:表5-6 销售信息表(tb_sell_main)字段名称数据类型字段大小是否主键说明sellIDvarchar13主键销售编号spidvarchar6商品编号djmoney8销售单价slint8销售数量jemoney8总计金额khnamevarchar30客户名称xsdatedatetime8销售日期jsrvarchar8经手人jsfsvarchar10结算方式8、销售退货信息表这个表主要记录销售退货的详细信息,销售管理模块录入,表结构如下:表5-8 销售退货信息表(tb_xsth_main)字段名称字段类型字段大小是否主键说明xsthIDvarchar13主键销售退货编号spidvarchar6商品编号slint8销售退货数量djmoney8销售退货单价jemoney8总计金额khnamevarchar30客户名称thdatedatetime8退货日期jsrvarchar8经手人jsfsvarchar10结算方式9、用户表这个表主要记录用户的基本信息,系统管理模块录入,表结构如下:表5-9 用户表(tb_userlist)字段名称数据类型字段大小是否主键说明namevarchar10用户名passvarchar20密码quanvarchar2权限5.4 数据连接方法与本程序的应用5.4.1 ODBC的数据库连接法ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , SQL SEVER 2000还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。一个完整的ODBC由下列几个部件组成:应用程序(Application)。ODBC管理器(Administrator)。该程序位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。驱动程序管理器(Driver Manager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。ODBC API。ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图下图所示:应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。在访问ODBC数据源时需要ODBC驱动程序的支持。用Visual C+ 5.0安装程序可以安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序在缺省情况下,VC5.0只会安装SQL Server、 Access、 FoxPro和dBase的驱动程序如果用户需要安装别的驱动程序,则需要重新运行VC 5.0的安装程序并选择所需的驱动程序。 ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一。 从结构上分,ODBC 分为单束式和多束式两类。 1.单束式驱动程序 单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。当用户进行数据库操作时,应用程序传递一个ODBC 函数调用给ODBC 驱动程序管理器,由ODBC API 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。 2.多束式驱动程序 多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。前端应用程序提出对数据库处理的请求,该请求转给ODBC 驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle 的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC 驱动程序,再由驱动程序将结果传给应用程序。5.4.2 系统数据库连接JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。简单地说,JDBC能完成下列三件事:(1)同一个数据库建立连接;(2)向数据库建立连接;(3)处理数据库返回的结果。JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。数据库访问的三层结构如图5-2所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图5-2 使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。 其模型如图5-3所示。图5-3 JDBC的三层模型因为“中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。数据库连接如图5-4所示:图5-4 数据库的连接处理数据库的连接处理具体实现如下:/建立JDBCODBC桥sun.jdbc.odbc.JdbcOdbcDriver;/桥建立不成功时的错误处理catch(ClassNotFoundException event)/建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBCODBC桥Sql=SQL查询语句执行查询Rs=返回结果/SQL出错处理 catch(SQLException e1)有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代码对基于JDBC的数据库访问做了经典的总结。第六章 详细设计经过了系统分析和系统设计阶段,就进入管理信息系统开发的系统实施阶段。系统实施是实际建立系统的阶段。它把设计文档中的逻辑系统变成能够真正运行的物理系统。该阶段将系统应用于实际工作环境中,评估所设计系统是否符合实际配置,是否能够按照目标进行工作。在系统测试过程中,发现某些功能不能实现时,要及时进行调试和记录,不断修改和调整,直至系统符合用户的需求,达到总体目标为止。6.1 程序设计在完成了系统分析和系统设计以后,要进行程序设计了,程序设计主要是为了实现系统分析和系统设计中所提出的管理方法和处理构想。对本系统的开发我使用的是Java语言来开发的。1、Java介绍Java语言是一种简单的面向对象的编程语言;是解释型的编程语言,Java程序可以独立于平台,当运行Java程序时,Java源代码首先被编译成Java字节码,系统在运行时将其进行解释变成机器指令,所以Java程序非常高效;是安全的编程语言;是可移植的编程语言;是多线程的编程语言。Java的主要应用领域是企业分布式计算的3个领域:客户机/服务器应用软件开发;数据访问;联机交易。采用Java可极大减少应用软件的安装、支援和升级应用所需的工作量,而且面向对象特性高,支持的组建技术也非常多,跨平台的特性也使得它在现在和未来的开发中占据越来越重要的地位。2、开发的部分程序代码本程序设计了6个主要功能模块,有基本信息管理模块,进货管理模块,销售管理模块,库存盘点模块,查询统计模块,系统管理模块。其中基本信息管理模块包括供应商信息管理功能、客户信息管理功能、商品信息管理功能,供应商信息管理包括供应商信息的添加,修改和删除的功能,进货管理包括进货和进货退货功能,库存管理模块包括库存盘点功能、价格调整功能,查询统计包括入库查询,销售查询,入库退货查询,销售退货查询等功能,其部分详细程序代码见附录A所示。6.2 输入输出界面设计1、输入设计首先,输入过程设计得简单、输入量小、容易操作是本系统的主要设计目标。其次,为了得到准确的输出信息,对输入数据进行检验,使错误能及时得到改正。一个好的输入设计可以为用户和系统双方带来良好的工作环境,在进销存管理系统中,登录系统前,首先对用户名和密码进行验证,保证操作的安全性。(1)系统登录界面设计考虑界面易于操作的系统需求,主窗体使用简单和直观的界面设计,提供主要的功能模块入口。主窗体界面设计的效果如下:图6-1 系统登录界面(2)供应商信息管理界面设计供应商信息管理是对供应商信息进行基本管理,对供应商信息添加、修改和删除,将数据写入数据库,完成对应的数据库操作。具体设计效果如下: 图6-2 商品信息管理界面2、输出设计相对于输入方式来说,输出方式的设计要简单得多。从系统的角度来说输入和输出都是相对的,各级子系统的输出就是上级主系统输入。管理信息系统是通过输出为用户服务的。信息系统能否为用户提供准确 、及时、适用的信息是评价信息系统好坏的标准之一。本系统中的库存盘点、查询统计功能等就是典型的输出设计。(1)主窗体界面设计主窗体体现了整个系统功能模块的框架,设计简洁、清晰,包括基本信息管理、进货管理、销售管理、库存管理、查询统计、系统管理6个大模块。具体的界面设计如下:图6-3 主窗体界面(2)库存统计界面设计库存盘点是定期第对仓库的商品进行盘点,清查商品的现有数量,与账面数量进行对比,能自动得出商品损溢数量。具体的界面设计如下:图6-4 库存统计界面(3)商品信息查询界面设计 商品信息查询提供了对供应商提供的商品的查询,可以清晰查看具体供应商提供什么类型的商品,具体界面设计如下:图6-5 商品信息查询界面 本章是对详细设计的描述。第七章 系统测试与性能分析7.1 调试与测试7.1.1 调试系统调试的目的是发现程序和系统中的错误并及时予以纠正。在一个系统中调试应该包括程序调试、功能调试(分调)、总调。(1) 程序调试包括语法调试和逻辑检查,测试数据除采用正常数据外,还应用一些异常资料,用来考验程序的正确性。 用正常资料调试。 用异常资料调试。 用错误资料调试。(2) 分调即将一个功能内所有程序按次序串联起来调试。 (3) 总调将主控制调度程序和功能模块联结起来调试。7.1.2 测试测试是系统开发周期中一个十分重要的阶段,其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程的最终审查,如果错误不能在测试阶段被发现并纠正,就会造成不堪设想的后果。在期刊稿件处理系统中测试的对象不仅仅是源程序,而是整个软件。系统测试是以找错误为目的,不是要证明程序无错,而是要精心选取那些易于发生错误的测试数据,以十分挑剔的态度,证明程序有错。在机房设备管理系统中,所用到的测试方法有人工测试和机器测试。在人工测试中用的是个人复查,即当源程序编完以后,由自己进行检查,但这种测试方法存在不足之处:由于心理上对自己程序的偏爱,因此有些习惯性的错误不易发现,如果对功能理解有误,自己也不易纠正,所以在个人复查的基础上又用了机器测试中的白盒测试和黑盒测试。(1) 白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否符。在进行白盒测试时,开发者对其软件进行测试,在完全了解系统功能、内部结构的前提下对系统进行测试,看实现的功能与想要实现的设计有什么冲突不符,并及时改正。(2) 黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性,根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。在进行黑盒测试时,开发者以使用者的身份对其软件进行测试,多次输入符合条件的数据,看结果是否与预期相符,如果相符则说明程序对输入的条件反映正确,如果不符则说明程序有错,所以这种黑盒测试只能证明程序有错而不能证明程序无错。典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装是对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向以对程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态性使得面向对象程序对外呈现出强大的处理能力。但同时去使得程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为。(1) 功能测试:测试是否满足开发要求,是否能够提供设
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。