




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)题目名称: 基于Swing的私有企业进销存管理系统 学 院: 计算机科学技术 专业年级: 计算机科学与技术(工)07级 学生姓名: 伍小曼 班级学号: 3班10号 指导教师: 张淑英 二一一 年 六 月 十三 日摘 要本文论述了私有企业进销存管理系统的开发背景、意义和目前的发展现状,介绍了一个大型企业进销存管理系统的分析、设计、实现过程。本系统通过对供应商、客户、商品、进货、销售、退货等信息的管理,从而达到进货、销售、库存的全面信息管理。文中详细论述了如何开发面向网络化、标准化、数字化的私有企业进销存管理系统,以及应用Swing组件、PowerDesigner建模工具和SQL Server 2000数据库的技术。本系统采用PowerDesigner建模并逆向生成数据库的E-R图,用Swing类库创建界面并生成相应的java代码,操作界面简洁大方,使用方便。本系统共分为基础信息、进货管理、销售管理、库存管理、查询统计、系统管理等模块,主要包括客户、商品、供应商和操作员的增加、修改与删除,进货、销售商品的入库、销售、退货,以及库存的盘点和价格的调整等。实现了企业进销存管理系统的智能化、自动化、高效化管理。关键词:进销存;Swing;私有企业;管理系统AbstractThis article discusses the development background, significance and current development status of private enterprise inventory management system, and introduces analysis, design, implementation process of large-scale enterprise inventory management system. The system achieves the purchase, sales, inventory, comprehensive information management through suppliers, customers, products, purchase, sales, returns and other information management.It discusses in detail how to develop for the network, standardization, digital inventory management system of private enterprise, and the application of Swing components, PowerDesigner modeling tool and SQL Server 2000 database technology.The system uses PowerDesigner modeling and database reverse generate ER diagram, created with the Swing class library interface and generate the corresponding java code, user interface simple and elegant, easy to use.The system consists of basic information, stock management, sales management, inventory management, query statistics, system management module, including customers, products, suppliers and operators to add, modify and delete, purchase, sale of goods storage, sales, returns, and stock inventory and price adjustment.It achieves intelligent automation, and efficient management of the enterprise inventory management system. Key words: Invoicing; Swing; Private enterprise; Management systemII目 录摘 要IAbstractII第1章 概述11.1 课题来源11.2 课题背景11.3 国内外动态11.4 目的及意义21.5 项目开发的思想2第2章 方案论证42.1 技术可行性42.2 经济可行性42.3 操作可行性52.4 法律可行性52.5 相关技术简介52.5.1 Swing程序的MVC模式的使用52.5.2 Mircrosoft SQL Server数据库7第3章 需求分析93.1 功能需求93.2 系统数据流图93.3 数据字典14第4章 过程论述164.1 概要设计164.1.1 设计原则164.1.2 系统模块设计164.2 系统流程图194.3 数据库设计194.3.1 数据库概念结构设计194.3.2 进销存管理系统的E-R图194.3.3 使用PowerDesigner建模214.3.4 创建数据库254.3.5 数据库逻辑结构设计264.4 系统实现28第5章 软件测试与结果分析405.1 单元测试405.1.1 白盒测试405.1.2 黑盒测试415.2 集成测试与系统测试425.3 功能测试435.3.1 基础信息模块的测试435.3.2 库存管理模块的测试455.4 调试46结 论48致 谢49参考文献50附 录51II第1章 概述1.1 课题来源随着国内经济的高速发展,中小型的商品流通企业越来越多,其所经营的商品种类繁多,难以管理,而进销存管理系统逐渐成为企业经营和管理中的核心环节,也是企业取得效益的关键。为了增加单位效益,不少企业建立了分公司和代理制,通过分公司或代理把产品推向最终用户。这些分公司或代理商大都分布在不同的地理位置,跨时空,跨时间的频繁业务信息交流是这些企业业务的活动的主要特点。可以想象,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求了。为了完善管理制度,增强企业的竞争力,及时分析和掌握商品的销售、进货及库存情况,以实现商品管理的信息化。根据企业进销存过程中的工作特点, 我开发了这个基于Swing框架的私有企业进销存管理系统。1.2 课题背景有效的企业进销存管理系统,可以降低运营成本,进而提高商品的周转率,这样才能减少因风险造成的损失,从而使利润达到最高点。一个企业的进货和库存管理,代表了这个企业的大部分资产总额。如何将这些静态的资产以合理的方式销售,就是企业销售管理系统的目的。一个能够持续发展的企业,并不是只要有高利润的商品就行了,有些商品可能进货后就无人问津,那么这些商品不仅占用了大量的资源,而且也积压了大量的资金。要改善商品销售状况,就必须全面地了市场,而所需了解的市场信息可以通过销售管理信息系统的查询统计功能加以分析得到。通过大量数据的统计和分析,可以为企业领导层做出相关的决策提供了正确的依据。 在企业进销存管理系统中,管理的主要内容就是基础信息管理、进货管理、销售管理、库存管理和系统管理,然后辅以查询统计功能。完全用数据来描叙商品的入库、出库和储存状态,实时反映了商品在企业与客户之间流动的全过程。可以想象,如果所有的工作都要通过人工管理来实现的话是非常繁琐而容易出错的,也不方便分析比较。在这个竞争激烈的社会中,失去高效率就意味着难以生存。本系统主要考虑了最为普遍的企业进销存管理需求,适用于大多数中、小型企业的企业进销存管理。1.3 国内外动态企业进销存管理系统是企业管理信息系统中涉及数据存储量最大、数据处理次数最多和对数据准确性要求最高的系统,其数据文件或数据库结构的设计直接影响系统的处理效率和响应速度。当前代表国内外进销存管理的最新趋势是以数据结构规范化理论为基础的企业管理信息系统设计模式。 当今在研究和开发企业管理信息系统时,大都把进销存管理信息系统作为突破口。由于计算机硬件系统价格大幅度下降,以微型计算机为硬件基础的进销存管理信息系统日趋增多。在开发进销存管理信息系统应用软件时,首先遇到的就是数据文件或数据库结构的设计问题,如果设计不当,就会直接影响系统的处理效率和响应速度,并给用户使用和维护带来不便。进销存管理信息系统中涉及的数据存储和数据处理量很大,系统的运行效率与数据文件或数据库结构有直接联系。尽管随着计算机内外存储能力的增加,节省空间已不是重要问题。但数据文件或数据库结构的合理设计,对提高系统的响应速度非常重要。1.4 目的及意义在市场经济中,进销存是企业运行的重要环节,针对私有企业进销存管理中存在的一系列问题,开发基于Swing框架的私有企业进销存管理系统,将会使得企业进销存管理的工作效率得到大幅度提升,工作也更加合理规范。利用企业进销存管理系统,实现商品管理的信息化、网络化,可以说工作模式又发生了一次质变。通过本次的设计是对大学所学知识的一次综合性运用,大学四年学过很多的专业知识,但是只有理论联系实际,才能对所学知识有更新的认识和体会。也是对所学知识的一次深层次的总结。培养自己的设计能力,增强自己的动手能力,关键的还是培养自己处理实际问题的能力。通过实践完成本次项目,使自己的综合素质得到提高,从而使自己能够和社会顺利接轨。 1.5 项目开发的思想 本系统是用Java Swing框架来实现的企业进销存管理,首先介绍一下Swing技术。Swing是一个设计优秀的Java包,Swing的设计是MVC的典范,Swing中事件监听、Model-View分离、Renderer/Editor机制、可插拔的LookAndFeel等机制,是一门很好的界面开发技术。本人除了对Swing技术深入的了解之外,还对Photoshop、Dreamweaver、SERVLET技术的学习,对JDBC数据库访问技术、SQL语言原理、java语言核心技术掌握,进行了较深入的学习和应用,完成对基于Swing组件的企业进销存管理系统的需求分析、数据库模式分析、功能模块划分,由此设计了数据库结构和应用程序。由本程序系统的运行使用中可以证明,本系统可实现减轻了管理人员的工作量,使得进销存都能在网上实时完成,缩短了工作人员的工作时间。企业进销存管理系统更加科学化、规范化,充分提高了工作的质量与效率,同时也使系统管理变得简单与规范,为提高企业的售后管理质量打下了基础。根据需求分析可知,本系统属于一个小型项目,所实现的功能相对来说比较简单,主要是对企业进销存管理基本操作。因此,这里使用Swing+PowerDesigner+JDBC的开发模式进行开发,其中JDBC用于连接数据库并对数据库进行存储,Swing用于系统交互式用户界面的设计,PowerDesigner工具用于数据库的建模和逆向生成数据库E-R图。Java有个多个图形用户界面的类库,Swing是其中之一。它作为Java的类库,有跨平台的特性,由于它是基于MVC模式的,因为如果使用Swing来创建基本的java图形界面时,你不会注意到可视组件和它们的模型分离,Swing组件能够自动产生各种事件来响应用户行为,通过复写监听事件方法,我们可以监听事件源产生的事件,从而在程序中处理我们所需要的用户行为,并且编译后,界面非常美观,迎合了用户的视觉要求。通过Swing类的事件机制和可插入感官特性,并且通过使用自定义模型,可以达到高适应性和满足用户的功能,同时避免了不必要的数据请求。第2章 方案论证方案论证在软件开发过程中是至关重要的一个环节,它将直接决定软件开发的成败问题。因此在软件开发之前一定要进行方案论证这一步,从多个可供选择的方案中选择出确实可行的最佳方案。2.1 技术可行性企业进销存管理系统必须提供商品信息、供应商信息和客户信息的基础设置;提供强大的多条件搜索功能和商品的进货、销售和库存管理功能;可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。目前Internet应用已较为普遍,技术趋于成熟。根据需求可以将系统设计为有后台数据库支持的、具有交互功能的管理系统。本程序采用的是Java Swing技术实现。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言1。而Swing是一个的轻量级的J2EE框架2,它覆盖了从后台数据库的JDBC封装到前台Web框架的几乎所有方面3。并且,Swing的各个模块耦合非比寻常松散,咱们既没成绩用它作为整个实际运用程序的框架,也没成绩仅仅应用它的某一个的模块。Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。本系统采用了SQL Server 2000做后台数据库开发4,因为它有一套独立的安全策略,保证了数据的安全性;提供定时、自动地将数据库中的信息作备份的机制,可以避免因特殊原因导致数据丢失的情况的发生。由于个人的专业技能不是很高、实战经验少、知识面不宽和开发时间短等方面情况的分析,该程序完成在技术上确实有一定的难度,但在老师的帮助、上网查资料、到图书馆查阅等方式下,我基本上攻克了技术关。所以在技术上讲有很好的可行性2.2 经济可行性这个项目没有一般项目开发的基建投资,也没有工作地点的费用,常用设备是开发人员自带的不用支付。不需要购买新的硬件,安装系统及软件的费用很低。而本系统所使用的软件MyEclipse ,SQL Server 2000, PowerDesigner6全为免费软件,所以编辑本系统不会花费很多。系统投入使用后能够有效地提高进销存管理工作效率,简化管理者与产品销售之间的信息沟通方式,减轻了相关人员的劳动难度,具有一定的经济效益。所以就经济来说有很好的可行性。2.3 操作可行性该系统在开发过程中,本着简单易用的原则,尽可能地使用可视化开发工具MyEclipse(尽量少使用手工编码),以便在后期的运行维护中,避免因开发人员的变动带来太大的影响。因此,该系统要求后期维护人员具有较强的数据库专业知识,能熟练地运用开发工具,对使用者只要求有一般的计算机使用知识即可。2.4 法律可行性法律上,没有合同责任。如果不投入市场根本不会有侵犯专利权、侵犯版权等问题。不产生大的利益纠纷。法律上可行。市场上虽然有很多的软件,但是此次开发的软件有其独到之处,自身有很强的优势,有一定的市场需求。从整体上看,此项目的开发具有可行性。2.5 相关技术简介2.5.1 Swing程序的MVC模式的使用1MVC设计模式MVC(Model-View-Controller,模型-视图-控制器)模式是 Xerox PARC 在 20 世 纪 80 年代为编程语言 Smalltalk-80 所设计的一种软件设计模式,至今已被广泛使用, 并被推荐为 Sun 公司 J2EE 平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。MVC 模式主要由 3 个部分组成:模型、 视图和控制器,其结构如图 2-1 所示:图2-1 MVC设计模式图模型(Model)视图(View)控制器(Controller)获得数据变化通知视图选择用户动作状态改变模型表示业务逻辑和业务规则等,在 MVC 的三个部件中拥有最多的处理任务。 Swing的GUI类,监听Model对象数据改变,即时进行重绘界面的工作,能为多个视图提供数据。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。一个Swing应用程序的GUI由很多个Swing组件组成。各个Swing组件本身是由MVC模式设计的,而我们的整个Swing应用程序的表现层也应该由MVC模式设计。控制器能从视图中取值,然后将相应的值传给模型进行处理。控制器接受用户的输入并调用模型和视图去完成用户的需求7。整个Swing程序应该这样使用MVC模式:JFrame或者其他顶层容器中,由各个Swing组件构成了View视图层。用来展现数据,提供用户操作的图形界面。一个或者一组业务对象是Model。它们存放了Swing组件要显示的数据,它们是业务对象,因此,可以直接在业务层代码中使用,执行复杂的业务计算,它们不能直接在Swing组件中显示,而是需要根据业务对象,构造Form对象,也就是Swing组件的Model来展示数据。为了让业务对象能够得到用户最新输入的数据,我们还需要将业务对象注册到Swing组件上。一旦Swing组件的数据发生了改变,就通知业务对象。业务对象根据Swing组件的Model,也就是Form对象的数据,修改业务对象的值。业务对象和Swing组件之间,通过双向的事件监听机制,实现了双向的引用!在Swing各个组件上注册响应事件的监听器(控制器),以响应用户的操作。这些控制器,使用匿名内部类实现。每一个Swing组件上的控制器,都不仅仅是该Swing组件的控制器,而是整个Swing程序的控制器。因为,内部类可以操纵整个Swing程序的所有资源,因此,我们可以在控制器中,使用所有Swing组件的form,也可以使用所有业务对象,调用所有业务方法,实现任何需要的功能!控制器,是业务功能的入口点,它连接了Swing程序的表现层和业务层,连接了Swing的Form(Swing组件的Model)和业务对象。现在,我们的Swing程序结构清晰,功能区分合理,低耦合、高内聚,堪称是MVC模式的典范!2Swing类架构Swing是一个用于开发Java应用程序用户界面的开发工具包8。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing和awt的区别如下:第一,awt依赖对等架构,它用Java代码包装本地窗口部件,而Swing却根本不使用本地代码和本地窗口部件。第二,awt把绘制屏幕交给本地窗口部件,而Swing自己的组件自己绘制自己。第三,因为Swing不依赖本地窗口部件,它可以抛弃awt的最小公分母的方法并在每个平台下实现每个窗口部件,从而创建一个比awt更强大的开发工具包。Swing在缺省情况下采用本地平台的显示外观,然而,它不仅仅限于此,而是还可以采用插件式的显示外观12,因此Swing应用程序可以看起来像Windows应用程序的显示外观。Swing组件超越了简单的窗口部件,它体现了正不断出现的设计模式以及一些最佳实践。利用Swing,你不仅仅得到GUI窗口部件的句柄和它所包含的数据,而是定义了一个模型区保存数据,定义一个视图去显示数据,以及定义一个控制器去响应用户输入。前面已经提及到,Swing组件的构建基本上是基于MVC模式的。Swing的结构分成三类:1.存储组件内部将被用来操作的数据。如tableModel等等;2.存储控制组件操作模式的数据。如JList等;3.存储组件本身性质的数据模式。如JSlider等。Swing类库中常用的package和组件有:Javax.swing最常用的package,里面包含和各种Swing组件的类Javax.swing.border包含于Swing组件外框有关的类Javax.swing.colorchoser针对于Swing组件外框有关类Javax.swing.event处理由Swing组件产生的事件,有别于AWT事件Javax.swing.filechooser包含针对于Swing文件选择对话框JFileChooser所设计的类Javax.swing.plaf,Javax.swing.plaf.basic,Javax.swing.plaf.metal,Javax.swing.plaf.multi处理Swingx组件外观的相关类Javax.swing.table针对Swing表格组件JTable所设计的类Javax.swing.text,Javax.swing.text.html,Javax.swing.text.html.parser,Javax.swing.text.rtf 包含与Swing文字框有关的类Javax.swing.tree包含与Swing树状无件JTree所设计的类Javax.swing.undo包含与Swing文字组件Redo或Undo的功能3Swing的GUI模型 Swing的模型分为两种:GUI状态模型和应用数据模型。GUI状态模型是定义一个GUI控制器的可视状态的接口,比如button的按下或松开,list里面的items是否被选上。GUI状态模型常常是与图形用户接口(GUI)的上下文有联系的。通过组件的最顶层的方法可以操纵GUI控制器的状态,完全不需要直接与模型进行交互。Swing的GUI状态模型用绿色高亮表示。Swing中的事件MouseEvent、KeyEvent等处理计算机输入输出设备产生的中断事件,如鼠标和键盘同GUI系统的交互操作。Swing中通过postEvent、repaint及invokeLater等方法,向系统事件队列添加事件来实现程序事件的触发。2.5.2 Mircrosoft SQL Server数据库Mircrosoft SQL Server 2000是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构,采用了一种称为Transact-SQL的SQL语言在客户机和服务器之间传递客户机的请求和服务器的处理结果。Mircrosoft SQL Server 2000是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。在Mircrosoft SQL Server 2000系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。另外,用户数据都是非常重要的和保密的,这些数据存储在Mircrosoft SQL Server 2000系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据库中的相应数据。Mircrosoft SQL Server 2000系统具有强大的网上功能,可以在Internet上发布数据库中的数据。在Mircrosoft SQL Server 2000系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。从历史的发展来看,Mircrosoft SQL Server 2000系统的产生就是为了开发在Mircrosoft Windows NT操作系统上运行的关系型数据库管理系统。第3章 需求分析任何一个系统在开发之前,都必须进行需求分析。向用户了解他们所面对的问题,确定待开发的系统“做什么”。只有做好了需求分析,才能对系统进一步的开发。避免做无用功。3.1 功能需求需求分析就是描述系统所需要完成的任务。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。本系统开发分为以下几个模块: 1登录功能2基础信息功能 3进货管理功能4销售管理功能5库存管理功能6查询统计功能7系统管理功能其中,登录模块用来验证登录者信息的准确性,基础信息功能包括对客户信息、商品信息和供应商信息的管理,进货管理功能主要对进货单、进货/退货进行有效的管理。销售管理模块主要对销售单、销售退货进行有效的管理。库存管理功能模块主要对库存盘点和库存价格调整等进行管理。查询统计功能模块用来对客户、商品、供应商、销售、销售退货、入库、入库退货、销售排行等进行查询。系统管理模块主要对操纵员管理、更改密码、权限管理、退出系统等进行有效管理。3.2 系统数据流图数据流图是用来刻画数据流和转换的信息系统建模技术。它能够让分析人员清晰方便地表示任一模块或子模块的执行过程,并支持问题分解、逐步求精的分析方法。私有企业进销存管理系统的相关数据流图如图3-1到图3-7所示:图 3-1 企业进销存管理系统的第一层数据流图系统管理销售管理进货管理基础信息管理查询统计库存管理管理员客户信息商品信息供应商信息进货退货进货单销售单销售退货销售信息销售退货基础信息销售排行入库信息入库退货客户信息供应商信息操作员更改密码权限管理图3-2 基础信息管理数据流图(第二层数据流)客户信息商品信息管理员供应商信息客户信息表商品信息添加、修改、删除供应商信息表商品信息表客户信息添加、修改、删除供应商信息添加、修改、删除客户信息快速商品录入管理员进货人员交易总额打印交易清单商品信息表进货单表商品录入信息客户全称商品信息商品信息商品信息进货信息进货退货单表客户单表图3-3 进货管理数据流图(第二层数据流)文档图3-4 销售管理数据流图(第二层数据流)销售人员商品录入信息销售人员管理员交易总额打印交易清单客户信息表销售单表文档商品信息销售退货单表客户信息快速商品录入商品信息表商品信息商品信息进货信息客户全称图3-5 查询管理数据流图(第二层数据流图)客户信息查询查询客户信息非法查询客户信息客户情况客户信息表商品信息查询查询商品信息非法查询商品信息商品情况商品信息表供应商查询查询供应商信息非法查询供应商信息供应商情况供应商信息表销售查询查询销售信息非法查询销售信息销售情况销售信息表销售退货查询查询销售退货信息非法查询客户信息销售情况销售退货表入库查询查询入库信息非法查询入库信息入库情况入库信息表入库退货查询查询入库退货信息入库退货情况入库退货信息表非法查询入库退货信息图3-6 库存管理数据流图(第二层数据流)操作员信息快速查看商品管理员盘点人员库存数量打印库存清单商品信息表客户信息表价格调整表文档商品品种数盘点员名称商品信息商品信息商品信息进货信息数据录入新密码录入数据录入操作员信息添加新密码录入数据录入系统用户表图3-7 系统管理数据流图(第二层数据流)3.3 数据字典在本系统的数据字典设计中,着重对数据字典中的数据结构做了详细分析。部分数据结构的说明如下所示:1数据结构:客户含义说明:记录客户的详细信息组 成:编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号信息。(1) 数据项:编号、含义说明:客户编号。(2) 数据项:客户名称、含义说明:客户的全称。(3) 数据项:简称、含义说明:客户的简称。(4) 数据项:地址、含义说明:客户的具体物理位置。(5) 数据项:电话、含义说明:客户的联系方式。(6) 数据项:邮政编码、含义说明:客户的邮编号码。(7) 数据项:联系人、含义说明:客户方的负责人。(8) 数据项:联系人电话、含义说明:客户负责人的具体联系方式。(9) 数据项:传真、含义说明:客户的传真号码。(9) 数据项:开户行、含义说明:客户开户银行的类型。(9) 数据项:账号、含义说明:客户的银行账号。2数据结构:供应商含义说明:记录供应商的详细信息。组 成:编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和E-mail属性。(1) 数据项:编号、含义说明:供应商编号。(2) 数据项:名称、含义说明:供应商全称。(3) 数据项:简称、含义说明:供应商简称。(4) 数据项:地址、含义说明:供应商的物理位置。(5) 数据项:电话、含义说明:供应商的联系方式。(6) 数据项:邮政编码、含义说明:供应商的邮编。(7) 数据项:传真、含义说明:供应商的传真号吗。(8) 数据项:联系人、含义说明:供应厂商的具体负责人。(9) 数据项:联系电话、含义说明:供应厂商的具体负责人联系方式。(10) 数据项:开户行、含义说明:供应商的开户银行类型。(11) 数据项:E-mail、含义说明:供应商的电子信箱。3数据结构:商品含义说明:记录商品的详细信息。组 成:编号、名称、简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商信息。(1) 数据项:编号、含义说明:商品的编号。(2) 数据项:名称、含义说明:商品的名称。(3) 数据项:简称、含义说明:商品的简称。(4) 数据项:产地、含义说明:商品的生产地。(5) 数据项:单位、含义说明:商品的数量值。(6) 数据项:规格、含义说明:商品的大小。(7) 数据项:包装、含义说明:商品的外形包装。(8) 数据项:批号、含义说明:商品的生产编号。(9) 数据项:批准文号、含义说明:商品经国家批准的专有编号。(10) 数据项:商品简介、含义说明:商品功能的简单介绍。(11) 数据项:供应商、含义说明:供应商的全称。4数据结构:销售退货信息含义说明:记录销售退货信息的详细信息。组 成:票号、客户、联系人、结算方式、退货时间、经手人、数量、总数、金额、验收结论、操作人员。(1) 数据项:票号、含义说明:销售退货的票编号。(2) 数据项:客户、含义说明:退货的客户名称。(3) 数据项:联系人、含义说明:退货商品的负责人。(4) 数据项:结算方式、含义说明:结算方式有两种选择:现金,支票。(5) 数据项:退货时间、含义说明:商品的退货时间。(6) 数据项:经手人、含义说明:办理退货的管理员。(7) 数据项:数量、含义说明:退货商品的品种数量。(8) 数据项:总数、含义说明:退货商品的货品总数。(9) 数据项:金额、含义说明:退货商品的总金额。(10) 数据项:验收结论、含义说明:退货商品是否合格。(11) 数据项:操作人员、含义说明:对退货商品进行验收的工作人员。第4章 过程论述4.1 概要设计概要设计的任务,是在需求分析的基础上,考虑经济、技术和运行环境等各方面条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软硬件设备,提出系统的实施计划。4.1.1 设计原则总体设计的目的是确定目标系统的构架,要确定系统由那些模块组成的,以及这些模块相互间的关系。软件构架是一个容易理解的概念,人们常常会从直觉上来认识它,但是要给出精确的定义很困难。在UML中,构架是指系统的组织结构,它可以递归解构为通过接口交互的部件、连接部件的关系以及组装部件的一些现实条件,通过接口交互的部件有类、构件和子系统。现代的软件系统的趋势是开发规模越来越庞大、复杂度越来越高,一个人就可以胜任的“狗窝”式的系统越来越少,需要用科学的方法来严谨地设计系统的构架,一个好的软件构架已经成为完成高质量软件的重要保证,它在软件开发中起到核心作用。软件系统能否成功的一个重要因素在于是否有一个能够被开发人员很好理解的、可以分治的、可扩展的、健壮的、易于实现的软件构架。在设计的过程中所遵循的原则:1界面设计简洁、友好、美观大方。2操作简单、快捷方便。3数据存储安全、可靠。4信息分类清晰、准确。5强大的查询功能,保证数据查询的灵活性。6提供销售排行榜,为管理员提供真实的数据信息。7提供灵活、方便的权限设置功能,使整个系统的管理分工明细。8对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。4.1.2 系统模块设计基于Swing的私有企业进销存管理系统的功能在系统的需求分析已确定。各模块之间并非各个独立,而是相互联系,相互关联在一起的,从而使本系统能够很好的完成所设计的功能。企业进销存管理系统的功能规划如下:1基础信息对企业进销存管理系统中所需要到的一些基础的信息进行管理,主要实现客户信息、商品信息和供应商信息等功能。2进货管理管理员可以从进货管理中对进货单、进货/退货等信息进行管理。3销售管理销售管理主要实现销售单和销售/退货信息等功能。4库存管理包括对库存盘点、库存价格调整等信息进行有效的管理。5查询统计查询统计主要包括对客户、商品、供应商、销售、销售退货、入库、入库退货、销售排行等查询功能。6系统管理系统管理主要实现操作员的添加与删除、更改密码、权限管理等功能。综上所述,总体功能图如4-1所示:图4-1 企业进销存管理系统功能结构企业进销存管理系统基础信息管理进货管理销售管理库存管理查询统计系统管理进货 /退货客户信息管理商品信息管理供应商信息管理销售单销售 /退货库存盘点库存价格调整操作员管理更改密码权限管理进货单退出系统客户信息添加客户修改与删除商品信息添加商品修改与删除供应商信息添加供应商修改与删除客户查询商品查询供应商查询销售查询销售退货查询入库查询入库退货查询销售排行4.2 系统流程图进销存管理系统的系统流程如图4-2所示:图4-2 系统流程图操作员管理员基础信息管理进货管理销售管理查询统计库存管理系统管理4.3 数据库设计4.3.1 数据库概念结构设计在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作2。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。本系统是一个桌面应用程序,它可以直接在本地计算机运行,而不需要像Web应用那样部署到指定的服务器中,所以这个进销存管理系统在本地计算机安装了SQL Server2000数据服务器,将数据库和应用程序放在同一个计算机中,可以节省开销、提升系统安全性。另外,本系统也可以在网络内的其他计算机中运行,但是这需要将数据库开放,会降低数据安全性。4.3.2 进销存管理系统的E-R图企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品信息、商品的供应商、购买商品的客户等多个实体。E-R图为实体-联系图,对于每个模块的构建和如何进行模块之间数据的传递,是重要的依据。构成E-R图的基本要素是实体型、属性和联系4,其表示方法为实体型用矩形表示,矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。1客户实体E-R图企业进销存管理系统将记录所有的客户信息、在销售、退货等操作时,将直接引用该客户的实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系电话、传真、开户行和账号等属性,客户实体E-R图如图4-3所示:客 户编号简称地址电话E-mail名称邮政编号账号开户行传真联系人联系电话图4-3 客户实体E-R图2供应商实体E-R图不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应商的实体属性。供应商实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和E-mail属性,供应商实体E-R图如图4-4所示:图4-4 供应商实体E-R图名称简称地址电话E-mail邮政编码开户行传真联系人联系电话编号供应商3商品实体E-R图商品信息是进销存管理系统中的基本信息,系统将维护商品的进货、退货、销售、入库等操作。商品实体包括编号、商品名称、商品简称、产地、规格、包装、批号、批准文号、商品简介和供应商属性,商品实体E-R图如图4-5所示:商 品编号名称简称产地单位供应商简介批准文号批号规格包装图4-5 商品实体E-R图4.3.3 使用PowerDesigner建模在数据库概念设计中已经分析了本系统中主要的数据应实体对象,通过这些实体可以得出数据表结构的基本模型,最终实施到数据库中,形成完整的数据结构。本系统将使用PowerDesigner工具完成数据库建模,使用的版本为12.5。使用该工具建模的步骤如下:运行PowerDesigner,并在PowerDesigner主窗口中选择主菜单中的File/New命令,在打开的New对话框左侧Model type列表框中选择Physical Data Model(物理数据模型,简称PDM)选项,在右侧的Model name文本框中输入模型名称JXCManager,在DBMS下拉了列表框中选择数据库管理系统。PowerDesigner支持的数据库管理系统非常多,例如常用的MySQL 5.0、Microsoft SQL Server 2005、Oracle Version 10Gr2等。企业进销存管理系统选择Microsoft SQL Server 2000作为数据库服务器,单击“确定”按钮,如图4-6所示:图4-6 New对话框打开新建的PDM窗口。在该窗口的中心空白区域是模型编辑器,下方为输出窗口。另外还有一个浮动的工具面板,其中包括常用的建表工具、建视图工具和主外键引用工具,如图4-7所示。在图4-7中单击“建表工具”按钮,在模型编辑器的合适位置单击,此时在图形窗口中将显示如图4-8所示的数据表模型。 图4-7 工具面板图4-8 表符号在图4-8所示的表符号上双击鼠标左键,将打开Table Properties(表属性)对话框。默认情况下选中的是General选项卡,在该选项卡的Name文本框中,输入表的名称tb_manager,此时在Code文本框中也将自动显示tb_manager,其他选择默认即可。选择Columns选项卡,首先单击列输入列表的第一行,将自动转换第一行为编辑状态,然后在Name列输入字段名称为ID,同时Code列也将自动显示为ID,再在Data Type列中选择int选项,最后选中P列的复选框将该数据表字段设置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论