版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 太原理工大学 项目名称 超市进销存管理系统 课程名称 毕业设计 开课学院 软件工程 指导老师 学生姓名 专业班级 软件1026班 毕业设计(论文)任务书第1页毕业设计(论文)题目:超市进销存管理系统毕业设计(论文)要求及原始数据(资料):综述超市进销存管理系统现状; 随着信息技术的日益发展已深入到社会的各个角落,各个大的企业,都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展,为了更好的发展,纷纷开发适合自己的管理系统。不管大企业。各种类型的小企业也是如此,以前管理大多为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力,物力,财力。他们希望有一个适合自己的管理系统,能够实现电器类
2、别管理,电器管理,电器出入库管理,电器和供应商管理,库存管理等功能。通过此系统,可以对超市的各项情况实行电脑化管理,这样可以提高工作效率,也使得超市管理所需的各项信息能方便快速进行录入,查询,删除和更新,对相应关键数据也能够方便的统计结果。 为满足企业发展需求,决定采用各种编程语言JSP开发了基于B/S架构的超市进销存管理系统,超市进销存管理系统是涉及信息科学、数据计算和计算机技术的复杂的人机交互系统。通过这些系统,可以对超市和管理进行智能化管理,有效地记录并查询各种电器类型以及出入库等情况,为超市的管理提供了诸多方便。深入了解超市进销存管理系统的相关技术;本系统前台主要使用JSP作为开发语言
3、,后台使用SQL server作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的超市进销存管理系统。3熟练掌握超市进销存管理系统的应用,训练编写程序的能力;第2页4设计并实现超市进销存管理系统;通过超市进销存管理系统这个平台,可以实现超市管理的信息化、网络化、系统化、规范化,使工作人员从繁杂的数据查询和统计中解脱出来,减少工作量。系统的主要功能包括:电器分类管理、电器管理、入库管理、出库管理、库存信息浏览、电器管理、供应商 管理等。深入分析超市进销存管理系统的关键技术与编写语言;本系统前台主要使用JSP作为开发语言,后台使用SQL
4、 server作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的超市进销存管理系统。(1) 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。(2) 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。(3) 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。(4) 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。(5)速
5、度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。(6)设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。 6训练检索文献资料和利用文献资料的能力; 7训练撰写技术文档与学位论文的能力。 第3页毕业设计(论文)主要内容:1综述超市进销存管理系统的应用;2了解超市进销存管理系统的相关技术,熟悉超市进销存管理系统的开发环境;3深入分析超市进销存管理系统关键技术,设计超市进销存管理系统的各个模块;4超市进销存管理系统的实现应分为前台和后台程序,前台应实现入库、出库和库存的管理;5.后台程序应在前台程
6、序的基础上实现员工信息管理和商品信息管理;6设计与实现超市进销存管理系统的程序。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 第4页主要参考文献(资料):1 (美)Ivor Horton著Java 2 入门经典 JDK5M潘晓雷 于浚泊,王丹等译北京:机械工业出版社,20091-10582 刘甲耀,严桂兰Core Java应用程序设计教程M北京:电子工业出版社,2006.297-3043 孙卫琴精通Struts:基于MVC的Java Web设计与开发M北京:电子工业出版社,2008.
7、87-354 菜剑,景楠 Java Web应用开发:J2EE和TomcatM第2版北京:清华大学出版社,2007.135-2505 孙卫琴,李洪成Tomcat与Java.Web开发技术详解M北京:电子工业出版社,2009.429-1346 殷兆麟,张永平,姜淑娟Java网络高级编程M北京:清华大学出版社,北京交通大学出版社,2009.594-2357 (美)Marco Pistoia,Nataraj Nagaratnam等著.企业级Java安全性:构建安全的J2EE应用M尹亚,明喻卫,严进宝译北京:清华大学出版社,2008.372-1098 (美) HYPERLINK /cs/catalog/
8、view/au/454x-t=book.view t _new WilliamCrawford, HYPERLINK /cs/catalog/view/au/1176x-t=book.view t _new JonathanKaplan. J2EE Design PatternsMOReilly,2009.925-1029 (美)Rod Johnson ,Juergen HoellerExpert One-on-One J2EE Development without EJBM Wiley Publishing, Inc. ,200731-6310 (美)Jason Hunter,Willia
9、m CrawfordJ Java Servlet ProgrammingMOReilly,200886-14311 (美) HYPERLINK /safari/author_bio.aspISBN=0321136497 t _new JaysonFalkner, HYPERLINK /safari/author_bio.aspISBN=0321136497 t _new KevinJones Servlets and JavaServer PagesMThe J2EE Technology Web Tier. Addison Wesley,2003.912-32专业班级软件1026班学生要求设
10、计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期 第1章 绪论1.1 课题背景计算机网络技术的发展,给信息时代的人们带来了很大的方便。如今在Internet上,随处都可以看到种类繁多的信息管理系统,比如,企业办公化自动管理系统,电子商务系统,企业教务管理系统等等。随着信息技术的日益发展已深入到社会的各个角落,各个大的企业,都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展,为了更好的发展,纷纷开发适合自己的管理系统。不管大企业。各种类型的小企业也是如此,以前管理大多为手工管理,效率低、易出错、手续繁
11、琐,而且耗费大量的人力,物力,财力。他们希望有一个适合自己的管理系统,能够实现商品类别管理,商品管理,商品出入库管理,商品和供应商管理,库存管理等功能。通过此系统,可以对超市进销存的各项情况实行电脑化管理,这样可以提高工作效率,也使得超市进销存管理所需的各项信息能方便快速进行录入,查询,删除和更新,对相应关键数据也能够方便的统计结果。 1.2 目的和意义长久以来,超市进销存的管理工作大多数都采用的是传统的手工方式来记录相关信息,这种管理方式存在很多缺点,比如说,商品入库出库,商品信息的录入,查询,更新,分析都要完全依赖管理人员的手工记录和人工分析。对于小规模企业来说还勉强可以接受,但对于规模大
12、一点的企业来说,人工记录是相当麻烦的。为满足企业发展需求,决定采用各种编程语言JSP开发了基于B/S架构的超市进销存管理系统,超市进销存管理系统是涉及信息科学、数据计算和计算机技术的复杂的人机交互系统。通过这些系统,可以对超市进销存和管理进行智能化管理,有效地记录并查询各种商品类型以及出入库等情况,为超市进销存的管理提供了诸多方便。1.3 开发工具及技术1.3.1 开发工具此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和SqlServer数据库进行简要介绍。1. MyEclipseMyEclipse,
13、是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
14、2. Tomcat Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。3. SqlServer SqlServer使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、
15、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本。1.3.2 JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网
16、页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给商品。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给商品端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被商品端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给商品端的浏览器。Servlet是
17、JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点: (1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理
18、,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。内部对象说明:request 商品端请求,此请求会包含来自GET/POST请求的参数; response网页传回商品端的响应;pageContext 网页的属性是在这里管理; sess
19、ion 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config代码片段配置对象;pageJSP网页本身; exception针对错误网页,未捕捉的例外1.3.3 JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的商品端脚本语言。同时也是一种广泛用于商品端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascrip
20、t可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。1.4 开发平台1.硬件平台:CPU:Inter酷睿i5处理器内存;3G2.软件平台:操作系统版本:Win7操作系统开发工具:MyEclipse 6.0.1后台服务器:Apache Tomcat 6.0开发语言:Java浏览器:IE6.0第2章 需求分析2.1 需求调研在项目的开始是需求调研,并且走访了一些商品公司,经过一系列的调查与
21、谈话中发现,现行的超市进销存管理工作还是存在着很多不足之处,手工记录的方式不易保存,容易丢失,同样也不利于数据的查询和统计分析。根据商品公司的实际情况及调查结果,发现实现超市进销存管理的网络化、信息化是十分有必要的,因此设计了本套超市进销存管理系统。2.2 可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。2.2.1 技术的可行性本系统开发工具是MyEclipse和SqlServer数据库,开发语言是Java,主要使用了J2EE的技术,java是
22、一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,超市进销存管理系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。2.2.2 经济的可行性目前中国的Internet已经从起步阶段进入了高速发展阶段。随着对互联网基础设施投资的加强,中国的电子商务发展不可限量在国内,也许人们并没有意识到,然而在国际上,中国电子商务的发展已经正在成为美国乃至全球关注的话题和焦
23、点。另一方面,商业连锁超市已成为商业大家庭的主力军。商业超市是劳动密集型的服务行业,不同于生产型的企业,所有的商品都是源自外购,而且采购的品种多,采购的批次频繁。超级市场具有经营品种丰富、更新速度快、交易高峰时间顾客交易频繁、速度快准确性要求高的特点。每日甚至每时将这些频繁交易的真实情况实时地采集、汇总、分类、处理,生成各种账目,并将进、销、存、以及资金分布等情况迅速反映出来,其往来业务非常繁杂基于此种市场现状,本综合管理信息系统不论是从未来电子商务方面还是从当前商业连锁超市方面都满足用户的需要。2.2.3 操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以
24、自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。2.2.4 法律的可行性本超市进销存管理系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,开发一个超市进销存管理系统与人工记录的方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个超市进销存管理系统是必要可行的。2.2.5 安全分析技术方面,通过程序代码设计,随时
25、返回错误和错误原因。数据库错误等均可通过程序显示。连接数据库要通过用户名和口令验证。系统使用方面,只有登陆的系统用户才可以使用该系统。2.3 系统用户用例图2.3.1 管理员用例图管理员负责管理整个系统,涉及到九大功能模块,能够及时动态的掌握超市进销存的各项情况。商品分类管理修改密码商品分类管理修改密码登录系统商品管理管理员登录系统商品管理管理员商品入库商品入库商品出库库存信息商品出库库存信息图2.1 管理员用例图2.3.2 操作员用例图操作员操作整个系统的部分功能,涉及到五大功能模块,能够及时动态的掌握超市进销存的各项情况。商品入库商品入库操作员库存查看登录系统操作员库存查看登录系统商品出库
26、商品出库 图2.2管理员用例图2.4 功能需求本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:(1)系统具有简洁大方的页面,使用简便,友好的错误操作提示(2)管理员用户具有做商品分类管理、商品管理、入库管理,出库管理、库存信息管理、商品管理、系统管理功能(3)具有较强的安全性,避免用户的恶意操作系统的功能结构图2.3所示。图2.3用户功能模块图2.5 性能需求2.5.1 系统的安全性超市进销存管理系统在管理权限上要严格进行控制,想登陆超市进销存管理系统进行操作,必须有某些操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全
27、性。2.5.2 数据的完整性1.各种记录信息的完整性,信息记录内容不能为空2.各种数据间相互联系的正确性3.相同数据在不同记录中的一致性2.6 界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管
28、理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:1)输入量
29、应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。第3章 系统概要设计3.1 系统设计的基本思想设计思想遵循以下几点:1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2. 采用面向对象的开发与设计理念。
30、运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。3.2 系统功能结构图系统的功能结构图3.1所示。图3.1 系统的功能结构图3.3 数据库
31、设计数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要
32、求。计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。3.3.1 数据库概念结构的设计 概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E
33、-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。E-R模型图的组成要素。实体间关系属性实体实体间关系属性实体商品类别实体E-R图,如图3.2所示。类别介绍类别名称类别介绍类别名称 商品类别商品类别图3.2 商品类别信息实体E-R图(2)商品信息实体E-R图,如图3.3所示。单位规格单位规格产地产地商品名称备注信息商品名称备注信息商品信息商品
34、信息图3.3商品信息实体E-R图入库信信息E-R图,如图3.4所示。总金额经手人总金额经手人入库时间入库时间单据号备注信息单据号备注信息入库信息入库信息图3.4 入库信息实体E-R图出库信信息E-R图,如图3.5所示总金额经手人总金额经手人出出库时间单据号备注信息单据号备注信息出库信息出库信息图3.5 出库信息实体E-R图管理员信息E-R图,如图3.6所示。登陆账号登陆账号登陆密码用户ID登陆密码用户ID管理员管理员图3.6 管理员信息实体E-R图3.3.2 数据库逻辑结构的设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化
35、为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系*所有的主键必须定义非空(NOT NULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,超市进销存管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。(1)商品类别表主要是记录了商品类别基本信息。表结构如表3.1所示。表3.1商品类别表(t_catelog)列名数据类型长度允许空是否主键说明idint4否是 编号namevarchar50否否 类别名称jieshaovarchar50否否 类别介绍 (2)商品信息表主要是记录了超市进销存的基本
36、信息,表结构如图3.2所示。表3.2商品信息表(t_goods)列名数据类型长度允许空是否主键说明idInt4否是编号catelog_idInt4否否类别编号namevarchar50否否商品名称chandivarchar50否否产地danweivarchar50否否单位guigevarchar50否否规格beizhuvarchar50否否备注信息(3)入库信息表主要是记录超市进销存的入库的基本信息,表结构如图3.3所示。表3.3入库信息表(t_ruku)列名数据类型长度允许空是否主键说明idInt4否是编号danjuhaovarchar4否否单据号shijianvarcharDate否否入库
37、时间zongjiagevarchar50否否总价格jingshourenvarchar50否否经手人beizhuvarchar500否否备注信息(4)出库信息表主要是记录超市进销存的出库的基本信息,表结构如图3.4所示。表3.4出库信息表(t_chuku)列名数据类型长度允许空是否主键说明idInt4否是编号danjuhaovarchar4否否单据号shijianvarcharDate否否出库时间zongjiagevarchar50否否总价格jingshourenvarchar50否否经手人beizhuvarchar500否否备注信息管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表
38、结构如表3.5所示。表3.5管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint4否是编号userNamevarchar50否否用户名userPwvarchar50否否密码3.3.3 数据库的连接Java HYPERLINK /view/1088.htm t _blank 数据库连接,(Java Database Connectivity,简称JDBC)是 HYPERLINK /view/229611.htm t _blank Java语言中用来规范客户端程序如何来访问数据库的 HYPERLINK /view/592964.htm t _blank 应用程序接口,
39、提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标1。它JDBC是面向 HYPERLINK /view/495393.htm t _blank 关系型数据库的。采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是
40、J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图3.7所示。封装使用封装使用DataSourceDataAccessObjectBusinessObjectDataSourceDataAccessObjectBusinessObject创建/使用获取/修改创建/使用获取/修改DataTransferObjectDataTransferObject图3.7 DAO模式类
41、图 图中BussinessObject是业务对象,是使用DAO模式的商品端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下。public DBContent()String CLASSFORNA
42、ME= com.microsoft.sqlserver.jdbc.SQLServerDriver ;/连接数据库的驱动String url= jdbc:sqlserver:/localhost:1433;databaseName=db_yyj ;String user=sa;/连接数据库的用户名String password=sa;/连接数据库的密码诉讼tryClass.forName(CLASSFORNAME);con= DriverManager.getConnection(url,user,password);/加载数据库的驱动stmt=con.createStatement(Resul
43、tSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);catch(Exception ex)ex.printStackTrace();在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。第4章 详细设计 4.1 详细设计概述超市综合信息管理设计时,模拟现实超市综合信息管理系统的所有流程,从企业人力资源、公司财务管理、商品采购管理、商品销售管理等多个角度出发,完全按照现实超市管理来实现。通过模块细分,各个功能通过相应的JavaBean和JSP页面实现。超市商品销售管理流程如图4.1所示。进入系统进
44、入系统商品浏览商品查询商品采购生成订单退出系统图4.1 超市商品销售管理流程4.2 系统所有功能模块详细设计介绍4.2.1 员工信息管理员工信息管理员工信息管理员工信息查询员工信息修改员工信息修改员工信息添加员工信息查询员工信息修改员工信息修改员工信息添加 图4.2 员工信息管理结构图员工详细信息管理 员工信息添加:任何一个企业都是由各种各样的人才组成的,一个中型超市管理信息系统对员工的信息管理是必不可少的,员工信息添加模块可以方便快捷的实现员工详细信息的添加。员工信息修改:企业中员工信息的变化是时常发生的,这就需要对员工的信息实时的做出改变,员工信息修改模块可以快捷实时的实现员工信息的修改。
45、员工信息删除:企业中员工信息的变化是时常发生的,有时因为员工的离职,或者各种其它原因,员工已经离开了该企业,这就需要对员工的信息相应的改变,员工信息删除模块可以快捷实时的实现员工信息的删除。员工批量删除:企业中多个员工信息需要删除时,逐一手工删除是一件很麻烦的事情,员工批量删除正是考虑以上原因而设计的,员工批量删除模块可以快捷,大量的实现多个员工信息的删除。员工信息查询:一个大型企业可能有成千上万的员工,当管理人员需要找某一个特定员工时,如果逐一用人眼查询,这几乎是不可能的,员工信息查询模块可以准确的查找特定的员工。4.2.2 商品入库信息管理 商品入库 商品入库商品类型信息管理商品详细信息管
46、理供应商厂家管理供应商联系人管理商品采购信息管理图4.3商品入库结构图(1)商品类型信息管理 商品类型信息添加:为了对商品做出合理的管理商品类型信息的添加是很必要的。商品类型信息修改:根据商品编号可以查询商品详细信息,然后修改商品的所有信息。商品类型信息删除:根据商品类型编号可以删除该商品的类型信息。(2)商品详细信息管理 商品信息添加:作为超市综合管理系统,商品信息的管理是很重要的每当采购部门采购到新的商品是商品信息就要增加。超市也可能因为其它原因增加商品信息,商品添加模块都可以做出快捷的解决方案。商品信息删除:当企业经营策略发生改变时,商品信息也会相应的发生改变,商品信息删除模块可以使商品
47、信息跟随经营而改变。商品信息修改:商品信息的变化是瞬间千变万化的,同一个商品随时间的不同,它的具体信息也是不同的,只有实时的调整才能适应市场的变化,商品信息修改使该变化的最佳方案。商品信息查询:在成千上万种商品种,如果人为寻找某一个商品肯定是不可能的,只有通过商品信息查询模块才能为用户或管理人员解决这个难题。 (3)商品供应商厂家信息管理 商品供应商厂家信息添加:“诚信“是当前企业管理的管理,以诚信建立的企业与企业之间的关系是种巨大的财富,如何保留这种财富,创造这种财富,商品供应商厂家信息可以大量的存储这种信息。商品供应商厂家信息修改:每一个企业的信息随时间都会有或多或少的改变,商品供应商厂家
48、信息修改可以适应这种变化。商品供应商厂家信息删除:企业倒闭或者经营策略的改变,当它对超市商品的供应没有作用时,商品供应商厂家信息的删除是正常的。商品供应商厂家信息查询。商品供应商联系人信息管理 商品供应商毕竟是一种抽象的信息,只有通过商品供应商联系人这种载体,才能充分的利用,商品供应商联系人管理可以完成如下任务:商品供应商联系人信息添加;商品供应商联系人信息修改;商品供应商联系人信息删除;商品供应商联系人信息查询。商品采购信息管理 商品是维系超市正常运行的必要条件,商品采购是维持这一活动必不可少的条件,商品采购信息管理可以高效的实现它,包含的功能如下:商品采购信息添加;商品采购信息修改;商品采
49、购信息删除;商品采购信息查询。4.2.3 商品出库信息管理商品出库商品出库商品信息显示商品销售管理商品订单管理图4.4 商品出库结构图商品销售信息管理:作为一个超市正是为出售商品而存在的,因此销售管理显得尤为重要,商品销售模块正是它的重要组成部分。 商品购物清单管理:每次购物后,如果结帐则系统自动生成购物清单。4.2.4 用户权限及个人密码修改用户权限修改:超市综合管理信息系统中,肯定存在各种不同角色,不同的角色就应该有不同的权限,而只有超级管理员才有角色赋予权利。用户密码的修改:为了系统的安全,用户的应该只有用户个人才能修改,这不仅保证了整个公司的利益也保护了个人隐私。4.3 系统模块实现该
50、超市综合管理信息系统按照MVC模式开发,因此在此部分按照MVC模式开发顺序描述系统的实现。4.3.1 底层数据库JJsp页面商务逻辑bean数据库操作bean数据存取bean底层数据库图4.5系统MVC模式结构在需求分析文档和总体设计文档里均对底层数据库有所介绍,在此部分仅说明底层数据库的实现,其他描述不再赘述。4.3.2 创建数据库数据库管理系统采用SQLServer2000,系统开发采用JSP技术。按照数据库的规范化开发模式,建立数据库经历了以下几个步骤。(1)需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求。详见需求分析部分。(2)概念结构设计阶段 通过对用户需求进行综合、归
51、纳与抽象,形成一个独立于具体的DBMS。的概念模型,详见总体设计数据库设计部分。(3)逻辑结构设计 该阶段将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。(4)数据库物理设计 该阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。(5)数据库实施阶段 根据逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库、并进行调试。4.3.3 数据库的连接使用JSP+Java Bean开发的电子商务网络购物系统,在连接数据库是有两种选择。第一种是通过ODBC做为“桥”(Bridge)对数据库访问,第二种是直接对数据库访问。我选用了第二
52、种方式连接数据库。因为,第二种方法可以高效快速的实现数据库的操作,并且在某一个具体的事务中只需要一次数据的建立连接操作,在以后,对数据库进行操作时,系统后台不需要建立连接,这样就极大的提高了系统的效率。4.4 数据库操作Bean4.4.1 说明位于底层数据库之上的第二层数据库操作bean, 负责数据库的连接,数据库的一些设置,及其相关必要的操作安全与转化。在这一层bean中封装的是连接数据库的操作。4.4.2代码实现(1)这一部分代码封装在DataBase.java中,其框架结构如下:public class DataBase()中private String dbUser = ren;pri
53、vate String dbPwd = ren; public getConnection(dbUrl,dbUser,dbPwd) throws Exception /建立数据库连接public closeConnection(Connection con) throws Exception/关闭数据库连接public closePrepStmt(PreparedStatement prepStmt) throws Exception/关闭预处理记录集public closeResultSet(ResultSet rs) throws Exception/关闭记录集(2)具体主要代码解释说明
54、调有系统函数,获得数据库连接public Connection getConnection()throws Exception return java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd); 关闭实据库的连接 public void closeConnection(Connection con) try if(con!=null) con.close(); catch(Exception e) e.printStackTrace(); 调有系统函数,关闭的数据库连接,当数据库的连接为空时,产生异常,当数据库连接不为空时,关闭数据
55、库的连接。关闭预处理记录public void closePrepStmt(PreparedStatement prepStmt) try if(prepStmt!=null) prepStmt.close(); catch(Exception e) e.printStackTrace(); 调有系统函数,关闭的记录集预处理,当数记录集的预处理为空时,产生异常,当数记录集的预处理不为空时,关闭预处理集合。关闭记录集public void closeResultSet(ResultSet rs) try if(rs!=null) rs.close(); catch(Exception e) e.
56、printStackTrace(); 调有系统函数,关闭的记录集,当数记录集为空时,产生异常,当数记录集不为空时,关闭当前记录集合。在每一次进行数据库操作时都要进行以下操作DataBase database = new DataBase();boolean result = false; Connection con = null; PreparedStatement prepStmt = null; ResultSet rs=null; try con = database.getConnection(); String sql =”;prepStmt = con.prepareStatem
57、ent(sql); result = prepStmt.execute(sql); catch( SQLException ex )ex.printStackTrace( System.err );return false; finally database.closeResultSet(rs); database.closePrepStmt(prepStmt); database.closeConnection(con); return result; 在对数据库进行操作时,首先定义一个连接对象,和记录集对象,然后进行数据库连接,只有建立连接后才可以进行数据库的操作,每当操作完数据库后都应该
58、调有关闭当前记录集的函数,同时调用关闭数据库连接的函数,这样才可以保证下一次对数据库进行操作时不会发生异常。第5章 系统功能实现在管理信息系统的生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。5.1 系统登陆页面实现1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,并且不同角色的用户进入不同的界面,功能也随之不同。2.程序运行效果图如图5.1所示。图5.1 系统登陆页面设计
59、3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,并根据相应的用户角色进入对应的页面,loginservice关键代码。public String login(String userName,String userPw,int userType)tryThread.sleep(700); catch (InterruptedException e)/ TODO Auto-generated catch blocke.printStackTrace();String result=no;if(userType=0)
60、String sql=from TAdmin where userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.size()=0) result=no;else WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 秋冬换季感冒高发期家庭预防护理方案
- 2026 年夏季护理实习生实习期间压力管理与心理健康课
- 2026 年扁桃体炎病例护理研讨
- 2026 年输血护理知识在临床带教中的落实
- 2026年急诊科止血包扎固定护理实操培训
- 区位优势测试题及答案展示
- 2026年《花卉学》期末考试综合提升试卷附答案详解(能力提升)
- 2026年产品质量与售后服务改进方案
- 2026年度保密教育线上培训真题和答案
- 2026年高职农学(作物栽培学)试题及答案
- 新疆油气田钻井固体废物综合利用污染控制要求(DB 65-T 3997-2017)
- 2026年共青团入团考试试题附标准答案
- 2026郑州市新初一三科分班摸底卷摸底卷
- 2026年渭南市大荔县数学三下期末统考模拟试题含答案
- (2024版)中国成人暴发性心肌炎诊断和治疗指南课件
- (2026年)痔疮的诊断和治疗健康宣教课件
- 老年人慢性病管理与护理
- (2026年)血气分析临床解读课件
- 复温新技术汇报
- JG/T 335-2011混凝土结构防护用成膜型涂料
- 安全经验分享:中石油触电事故安全经验分享
评论
0/150
提交评论