1、基于J2EE的食品安全监管备案系统本科毕业设计论文本科毕业设计(论文) 题目名称: 基于J2EE的食品安全监管备案系统 学 院: 计算机科学技术 专业年级: 学生姓名: 班级学号: 指导教师: 摘 要本文主要介绍了食品安全监管备案系统的开发过程。论文详尽地论述了从课题背景,技术分析,需求分析,系统分析,概要设计,详细设计,到测试与调试的整个开发过程,总结了J2EE开发过程中的经验及本系统今后的改进方向。食品安全监管备案系统涉及全省行政区划管理、全省工商行政管理机构管理、食品集中交易场所管理、食品经营主体管理、商户信息管理、客户信息管理、生产厂家信息管理、供应商信息管理和商品信息管理。建立食品安
2、全监管备案系统,采用计算机对食品信息进行管理,可以进一步帮助工商局管理人员提高工作效率,实现对食品信息管理工作流程的系统化、规范化和自动化。本文将探讨怎样利用计算机实现对食品安全监管备案的高效管理,利用当前最流行的Java技术进行开发设计,采用B/S结构,使用Oracle数据库,把实际问题和计算机应用合理的结合起来,提高工商局的效率。关键词:食品安全监管备案;Java;B/S结构;J2EEAbstract This paper describes the development process of Food safety regulatory fillings System. This pa
3、per discusses the entire J2EE development process in details from the background, technical analysis, requirement analysis, system analysis, outline design, detailed design to test and debug. It also summarizes the experience through the development and the future ameliorative direction of this syst
4、em. The Food Safety Regulatory Fillings System involves management of administrative divisions in the province, the province administration of industry and commerce administration offices, food focused exchange management, food business management, business information management, client information
5、 management, manufacturer information management, supplier information management and product information management. To build this Food Safety Regulatory Fillings System and use the modern computer to manage food information can improve the efficiency of the secretary for trade and industry manager
6、s. While for the whole work flow, this achieves food information management as systematic, standardization and automation. This article discusses how to use computers to achieve efficient management of the food safety regulatory fillings.The design combines practical problems into computer applicati
7、ons with reason to promote the efficiency of trade and industry by using the most popular development tool, Java technology, together with B/S structure and the Oracle database.Key words: Food safety regulatory fillings; Java; B/S structure;J2EE第1章 概述1.1 课题背景“民以食为天,食以安为先”,人类生长、经济腾飞、社会进步、时刻离不开食品,离不开安
8、全、卫生、营养的食品。食品安全是关系着人民群众的身体健康和生命安全、经济健康发展、国家安定和社会发展与稳定的重大问题。所谓食品安全,是指供人们饮食的,可维持、改善或者调节人体代谢机能,具有营养性、功能性、多样性的食物类产品在养殖、加工、运输、销售等活动中,符合国家强制标准和要求,不存在可能损害或威胁人体健康的有毒有害物质以导致消费者病亡或危及其本人及后代的隐患。改革开放以来,我国食品供给格局发生了根本性的变化,品种丰富、数量充足、供给有余的食品极大地满足了人们的食品消费需求。但是,随之而来的食品安全事件,不得不引起人们对食品安全的高度关注。当前我国食品安全形势十分严峻,各部门在确保食品安全方面
9、仍然面临来自多方面的挑战,食品不安全因素贯穿于食品供应的全过程,重大食品安全事故时有发生;食品安全管理体制、食品安全检验检测体系、食品安全科技成果和信息化技术储备等方面还存在明显的不足。如何在食品安全监管方面实现从源头上“拴好阀门”?如何真正做好食品的“卫生”与“安全”?如何从根本上实现监管部门的长效监管机制?如何在法律法规保障下。以创新的观念,更好地履行工商监管职责,更好地化解行政监管风险,更好地保障消费者的权益与安全,是工商行政管理面临的艰巨任务。无数实践表明,食品安全问题不是靠几部法律就能完全解决的,它真正需要的是科技的应用,将科技应用到监管部门,提高监督管理的力度,将科技应用到市场,促
10、使经营者明确责任和义务,最终为消费者营造一个放心消费的良好市场环境。1.2 课题来源随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。用计算机来管理各种数据信息,是世界发展的需求,也是社会发展的趋势。在以前的食品安全监管备案中,采用传统的手工索证索票和进销货台帐登记制度,不仅大幅度增加了经营者的经营成本,供货商每年向零售商提供票证复印件的复印费用少则数百元,多则上万元,而零售商还要购买和记录购货台帐;而且索证索票环节存在严重漏洞,“三证”复印件难以识别,过期现象严重,达不到索证索票的目的;在经营中实行的进货查验及记录制
11、度是一票通,手续繁杂,不便于保存和查找,还要定期去食品行业协会购买相关票据,成本较高,非常麻烦,有过期的食品也不容易发现。再者,基层工商监管人员日常监管陷于核对票证之中,影响了对商品本身质量的监管。传统行政监管手段与精确监管也存在差距,监管责任风险隐患进一步加大。部门监管与经营过程脱钩,在督促落实上存在时间差,对源头追溯还未起到应有作用。基层工商所日常监管只能是看表面、查资料,搞突击、被动应付,缺乏长效监管手段,使有限的执法资源捉襟见肘。为解决在食品安全监管备案中出现的问题。采用计算机来管理食品安全监管的信息,能达到工商管理制度化、规范化和实时性的要求,能实时监管辖区内商品准入总体情况和经营主
12、体、食品流转以及各地具体动态,为行政监管的决策采取措施提供实情:能实时了解下属监管人员工作频度和力度,为加强内部监管提供依据:能通过市场经营者之间的交易链条,及时追索问题商品上下游经营者的对象及数量,提高执法监管的工作效率。因此开发一个食品安全监管备案系统是有必要的,这样既方便又不容易发生错误,而且用计算机来管理可以大大提高食品安全监管备案的效率。1.3 课题目的及意义食品是人类社会赖以生存和发展的最基本的物质条件,食品安全状况如何,直接关系到广大人民群众的身体健康和生命安全。国家也于2009年出台了中华人民共和国食品安全法等法律法规,以加强监管确保食品安全。 然而,近几年来,随着地沟油、瘦肉
13、精、牛肉膏、染色馒头等一系列食品安全事件的不断发生,食品安全形势仍然十分严峻,层出不同的问题牵动着人们脆弱的神经,也突显出食品安全监管问题的敏感性和重要性。社会舆论纷纷呼吁加强食品监管,食品安全已是目前全社会最被关心的社会焦点问题之一。建立统一的食品安全信息共享网络。信息共享不仅可以使各部门随时了解当前食品领域的安全形势,也从整体上节约了监管成本,有利于政府部门及时做出决策,把突发的、潜在的食品安全风险降至最小。 鉴于目前状况,为加强流通领域食品安全监管工作,建立健全食品市场准入和追溯制度,逐步构建食品安全长效监管机制,使工商部门和经营者不同角色间的信息流转由系统统一管理、统一运营;为使工商监
14、管部门及时了解所管辖单位的进销存状况,实现工商监管工作实时、动态和科学管理,规范工商监督执法行为,提高工商监督工作效率;也为了使经营者最关心的往来款项、销售状况、库存数量等能够一目了然,最大化地实现社会和经济效益双赢,我准备开发基于J2EE的食品备案信息系统。1.4 国内外现状从20世纪90年代开始,许多国家和地区通过建立食品安全监管备案系统来推进食品质量安全管理,欧盟、美国和日本是较早开展食品安全监管备案标准化工作的地区和国家。这些发达国家都建立了完善的食品安全体系,法律法规健全,组织执行机构配套。政府和企业逐步建立实施以预防、控制和追溯为特征,使得食品安全生产受到全程监控。在英国,为确保食
15、品质量安全,通过实现从农田到餐桌整个过程的有效控制,能迅速有效地通过电脑记录追溯其来源,地方主管部门通过食品安全监管备案系统,可立即调查并确定可能受事故影响的范围,对健康造成危害的程度,通知公众并紧急收回流通领域的食品,有效控制污染源的扩散。2005年,英国食品安全人员在对超市食品进行检测时发现,一些品牌的辣椒粉含有可能致癌的“苏丹红一号”色素,食品标准局紧急责令全国各大超市和商店下架召回被怀疑含有“苏丹红一号”的570多个品牌的食品,该事件成为英国历史上规模最大的食品召回行动。纵观我国食品安全现状,无论是内在品质还是安全性标准方面,都与国际市场要求存在很大差距,也和国内日益增长的农产品质量、
16、卫生、安全等方面的要求不相符合。因此,采用现代信息化技术,建立食品安全监管备案系统成为政府企业和消费者当前的迫切需要。1.5 初步设想J2EE是针对Web服务、业务对象、数据访问和消息传送的一组规范。这组应用编程接口(API)确定了Web应用与驻留它们的服务器之间的通信方式。Web技术现在十分流行,因为Web技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。另外,采用Web技术,不需要在客户机安装任何应用程序,只需一个浏览器,所有的任务都交给服务器来处理。所以可以初步考虑B/S结构,再结合一些常用的控制层技术和后台数据
17、库来实现整个系统的运行。按2类用户(工商局管理人员、企业管理员)来分别进行设计功能模块,通过上述的分析,可以初步建立下面的一个简单模型,如图1-1所示:图1-1简单模型图1.6 突破口系统总的结构设计可以考虑B/S结构,前台页面的展示目前主流还是JSP+JavaScript+CSS,关键的控制层选择可以用Struts,但是涉及到目前有Struts1和Struts2,所以还要进一步分析,数据库选择主流的大型Oracle,连接数据库采用传统的JDBC。第2章 方案论证2.1 可行性研究可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解
18、法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的可行性,下面将分别介绍三种技术上的可行性:2.1.1 技术可行性研究食品安全监管备案系统是采用Java语言编写的,具有Java的“一次编写,到处运行”的优点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全性和安全性。并且食品安全监管备案系统要求应具备功能完备、易于使用、易于维护等
19、特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以上的要求,本系统采用MyEclipse6.0作为开发工具,使得代码编写的过程大大的简化。而数据库则是采用目前较为流行的Oracle,Java对Oracle具有很好的支持。此系统在技术上是可行的。2.2.2 操作可行性研究食品安全监管备案系统具备友好的用户界面,使用方便,易于维护,操作简单易于被用户接受,用户只需熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以大大减少管理人员的负担。因此从使用操作方面看,此系统的开发是可行的。2.2.3 经济可行性研究本食品安全监管备案系统运行的硬件环境只需一台廉
20、价的电脑既可,软件环境则是安装windows系统,MyEclipse6.0,Oracle既可。在食品安全监管备案系统的开发过程中所用到的Tomcat、Struts、JDK都是开源的,可以通过网络直接下载并使用,一些相关知识只要购买一些书籍就可以,所以在设计过程中的花费并不是很大,需要的花费主要有上网费以及购书费。从经济可行性方面分析,具有经济可行性。2.2 方案选择J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方
21、便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBea
22、ns,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。结构的选择方面有两种:B/S结构和C/S结构。C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器
23、端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。相比较而言B/S结构具有分布性特点,可以随时随地进行查询、浏览等业务处理。业务扩展简单方便,通过增加网页即可增加服务器功能。维护简单方便,只需要改变网页,即可实现所有用户的同步更新。开发简
24、单,共享性强。虽然也存在功能弱化等缺点,但是对于本系统来说完全够用了。对于控制层的选择,虽然Struts2更先进,但是考虑到Struts1这个框架已经深入开发人员的大脑里,而且对Struts2并不是很熟悉,所以为了系统的稳定和开发周期的缩短,还是决定采用Struts1。Struts是Apache软件组织提供的一项开放源码项目,它为Java Web应用提供了模型-视图-控制器(Model-View- Controller,简称MVC)框架,尤其适用于开发大型可扩展的Web应用。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。 Struts为Web 应用提供了一个通用的框架,使得开发
25、人员可以把精力集中在如何解决实际业务问题上。此外, Struts 框架提供了许多供扩展和定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。对数据库的操作选择JDBC,虽然Hibernate和ibatis是关系数据库框架,开发速度快,更加面向对象,可以移植更换数据库,但是影响系统的性能,相比较而言,JDBC就更为灵活,因为SQL语句是开发者自己编写的,且操作数据库的效率更高,系统运行速度快。所以综上分析,本系统决定采用的方案是:使用B/S结构,利用Struts1,可以采用MVC的设计模式,利用JDBC访问数据库Oracle,服务器使用免费开源的Tomcat。第3章 需求分析软件
26、需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。需求分析是介于系统分析和软件设计阶段的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除错误,从而提高软件生产率,降低开发成本,改进软件质量。需求分析任务是确定待开发软件的功能需求、性能需求
27、和运行环境约束,编制软件需求规格说明、软件系统的确认测试准则和用户手册概要。软件的功能需求应指明软件必须完成的功能。软件的性能需求包括:软件的安全性、可靠性、可维护性、精度、错误处理、适应性,等等。软件系统在运行环境方面的约束指待开发的软件系统必须满足的运行环境方面的要求。需求分析的目标是从信息处理的功能需求上提出系统设计的方案,即逻辑模型, 为下一阶段进行概要设计提供依据。3.1 现行业务描述系统各个人员负责的主要业务如下:工商局管理员主要负责全省行政区划管理、全省工商行政管理机构管理、食品集中交易场所管理、对备案商户的营业执照、卫生许可证等证照进行备案、查询、预警管理。企业管理员主要负责备
28、案自身信息、客户信息、生产厂家信息、供应商信息和商品信息。3.2 功能需求本系统主要有9个子系统,分别是全省行政区划管理、全省工商行政管理机构管理、食品集中交易场所管理、食品经营主体管理、商户信息管理、客户信息管理、生产厂家信息管理、供应商信息管理和商品信息管理。1.全省行政区划管理是建立全省行政区划基础数据。需要工商局管理员填写区划代码、区划全称、上级区划、区划性质,可以分别对区划代码、区划全称、上级区划、区划性质进行增、改、查。2. 全省工商行政管理机构是建立全省工商行政管理机构基础数据管理。需要工商局管理员填写机构代码、机构全称、地址、邮编、上级机关、管辖区划、从事食品相关监管执法人员数
29、。可以进行增、改、查。3. 食品集中交易场所管理是建立食品集中交易场所基础数据。登记项包括场所名称、场所地址、所属区划、管辖工商机关、场所类型、地域类型、其他性质、市场开办方名称、营业执照号、前置许可证号。4. 食品经营主体管理是对备案商户的营业执照、卫生许可证等证照进行备案、查询、预警管理。5. 商户信息管理是指管理辖区内所有食品销售商户的基本信息,如名称、所属工商所、工商注册号、地理位置、联系人、联系电话。可以进行修改。6. 客户信息管理是指管理备案商户的客户信息,如名称、地理位置、联系人、联系电话。7. 生产厂家管理是指记录备案商户所销售的产品的生产厂家,作为溯源的资料进行管理。包括名称
30、、地址、工商注册号、联系人、联系电话。8. 供应商管理是指记录备案商户所销售的产品的生产厂家,作为溯源的资料进行管理。包括名称、地址、工商注册号、联系人、联系电话。9. 商品信息管理是指对备案商户所销售的食品进行登记,包括商品名称、条形码、单位、规格、生产厂家、保质期3.3 系统开发目标项目总体目标是建立一款面向各级工商监管部门和经营者食品安全监管备案的应用软件,食品安全监管备案系统要求食品进入市场前必须进行备案,保证了消费者可以购买到来路正当、渠道合法的的商品;对经营者来说,如果销售的食品一旦有问题可以立刻进行追根溯源,规避风险;对于工商局的管理人员来说,通过系统,了解工商局辖区内是否存在问
31、题,可以更进一步的详细了解辖区某个店是否存在问题。综上所述,帮助工商局备案企业的食品信息,解决实际管理中的各类问题,是设计该系统的主要目标。3.4 系统数据流图一个基于计算机的信息处理系统是由数据流和一系列的转换构成的,而这些转换将输入数据流变换为输出数据流。数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体。它提供了层次结构,让分析人员能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐步求精的分析方法。在众多的分析方法中,结构化分析方法(Structured Analysis,简称SA方法)是一种简单实用的方法。S
32、A方法从最上层的系统组织结构入手,采用自顶向下,逐步分解的方式分析系统。SA方法把任何一个系统都抽象为数据流图,如图3-1所示。其中给出的只是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分为若干子功能,每个子功能还可以继续分解,直到系统工作过程表示清楚为止。在处理功能逐步分解的同时,它们所有的数据也逐级分解,形成若干层次的数据流图。图3-1 基本数据流图这里给出了本系统的部分数据流图。系统顶级数据流图如图3-2所示,1级数据流图如图3-3所示, 2级数据流图如图3-4所示。图3-2 系统顶级数据流图图3-3 系统1级数据流图图3-4 系统2级数据流图3.5 系统E-R图概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用实体联系图作为概念设计的工具,再进行优化后,尽量满足结构清晰,关联简洁,实体个数适中,属性分配合理,没有低级冗余,根据分析,设计规划出的实体有:企业实体、工商局实体、用户实体、日志实体。图3-5 系统E-R图3.6 运行需求硬件环境(推荐):CPU:P41GHZ或更高内存:12