(计算机软件与理论专业论文)食品安全监控系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)食品安全监控系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)食品安全监控系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)食品安全监控系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)食品安全监控系统的研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机软件与理论专业论文)食品安全监控系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力大学硕士学位论文 摘要 食品安全是当今世界上人们所关注的焦点问题之一,每年食源性疾病所造成的 严重后果,使食品安全问题已成为全球公众健康优先考虑的问题。改革开放以来, 我国的食品安全现状却不容乐观,传统的食品监管体系已不适应发展的需要,建立 网络化食品安全监控系统已迫在眉睫。 本论文对s t r u t s 框架在w e b 系统开发中的应用方法进行了深入的研究,根据 首都食品安全监控的特点及实际需求,采用u m l 对系统进行了详细分析与设计,建 立了基于s t r u t s 框架的系统结构。重点阐述了食品安全监控系统中市场控制模块 和监控点的设置与管理两个模块的设计与实现。该系统已通过验收,正式投入使用。 关键词:j 2 e e ,u m l ,s t r u t s 框架,食品安全 a b s t r a c t f o o ds e c u r i t yi st h ef o c u so ft o d a y sw o r l do n eo ft h ei s s u e st h a tp e o p l ea r e c o n c e r n e da b o u te a c ho ft h es e r i o u sc o n s e q u e n c e so ff o o d b o r n ed i s e a s e s s ot h a t f o o ds a f e t yh a sb e c o m eag l o b a lp u b l i ch e a l t hp r i o r i t yi s s u e s s i n c et h eb e g i n n i n go f r e f o r ma n do p e n i n gu p ,c h i n a sf o o ds e c u r i t ys i t u a t i o ni sn o to p t i m i s t i c ,t r a d i t i o n a l f o o dr e g u l a t o r ys y s t e mh a st om e e tt h en e e d so fd e v e l o p m e n t e s t a b l i s h i n ga n e t w o r k - b a s e ds y s t e mo f f o o ds a f e t yr e g u l a t i o ni su r g e n t s t r u t sf r a m e w o r ki nt h i sp a p e rt ot h ew e ba p p l i c a t i o nd e v e l o p m e n ts y s t e mf o r a ni n d e p t hs t u d y a c c o r d i n gt ot h ec a p i t a l sf o o ds a f e t yc o n t r o lf e a t u r e sa n da c t u a l d e m a n d ,ad e t a i l e da n a l y s i so ft h es y s t e mu s i n gu m l a n dd e s i g ns t r u t sf r a m e w o r k e s t a b l i s h e do nt h eb a s i so ft h es y s t e ma r c h i t e c t u r e f o c u so nf o o ds a f e t ym o n i t o r i n g a n dc o n t r o ls y s t e mt oc o n t r o lam a r k e tp o i n tm o d u l ef o rt h ee s t a b l i s h m e n ta n d m a n a g e m e n to ft h ed e s i g na n di m p l e m e n t a t i o no ft w om o d u l e s t h es y s t e mh a sb e e n t e s t e d ,o f f i c i a l l yp u ti n t ou s e z h a or u i ( t h et h e o r yo fc o m p u t e rs o f t w a r e ) d i r e c t e db yp r o f il i nb i y i n g k e yw o r d s :j 2 e e ,u m l ,s t r u t sf r a m e w o r k ,f o o ds a f e t y 声明 本人郑重声明:此处所提交的硕士学位论文食品安全监控系统的研究与实现, 是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究 成果。据本人所知,除了文中特另 j ) j r l 以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得华北电力火学或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 学位论文作者签名:磁一 日 期:趔望五量芷 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文:学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学 位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:杰碰j 日 期:卸眨 。玉3 导师签名:主圭垂墓 日期:缝z 墨:坐: 华北电力大学硕士学位论文 1 1 课题研究的目的和意义 第一章绪论 国以民为本,民以食为天,食物为人类生活必需品,食品安全( f o o d s a f e t y ) 关系到国民之健康与幸福,维持着国家之富足与强盛。 近半个世纪以来,由于科技文明高度的发展,社会形态及生活方式也发生了很 大的变化,如:消费者远离了实际生产食物的场所:产地的作物迅速运销各地;都 市居民无暇烹调食物,加工食品不断的出现等,使食品安全问题,成为今日工业社 会最重要的任务。 目前我国食品安全存在问题的原因是多方面的。一是我国食品加工的质量安全 管理水平整体不高;二是我国食品质量检测体系还不完善;三是我国食品质量安全 管理权限分离,政出多门,多头管理,加之相关法制不健全,执法主体缺失,监管 效率低下等等“1 。 。 食品安全是和经济发展相一致的。首先人们要吃饱,然后才是吃得安全。食品 安全技术也是随着食品产业的发展而发展,遇到一个解决不了的问题时,人们会想 到去发展这方面的技术,解决这方面的问题。不过这种情况属于被动应付。对于政 府部门来说,不能满足于这种被动的应付,而应通过发展一些科学技术,主动保证 百姓的食品安全。1 。 综合以上原因,开发一套围绕食品安全监控管理的软件,使食品安全监控的信 息利用计算机进行有效快速地管理,及时向主管部门、各部委和广大人民群众公布 食品安全检测情况,让人们吃得放心是非常必要。 1 2 课题研究的主要内容 本文主要的研究内容有: 1 m v c 设计模式的研究 对m v c 设计模式进行深入地研究,通过对w e b 应用开发常用模式的分析与对比, 深刻理解该模式的模型、视图、控制器三部分在构成w e b 应用程序框架中起的作用, 并总结出使用此模式所存在的优势与不足及其适用范围。 2 s t r u t s 框架的研究 s t r u t s 是实现m v c 模式的一个优秀的应用框架。本课题对该框架的整体结构及 处理流程进行认真的分析和研究,通过与其它实现m v c 设计模式开发框架进行对比 华北电力大学硕士学位论文 研究,分析使用s t r u t s 框架的优缺点,并对s t r u t s 的开发流程做出总结。 3 基于s t r u t s 的w e b 应用开发框架的搭建和优化。 通过对m v c 设计模式及s t r u t s 框架的研究,以及对多层w e b 体系结构各层实 现方式的分析与对比,最终总结出基于j 2 e e 平台开发w e b 应用程序的技术方案, 并分析研究基于s t r u t s 的w e b 应用程序开发框架体系结构的构成;对s t r u t s 框架 的各组件,特别是模型组件的多种实现方式进行研究,从而得到比较合理的基于 s t r u t s 框架的w e b 应用开发的技术组合。 4 将s t r u t s 框架及m v c 模式应用于首都食品安全监控系统项目的开发。 1 3 论文的组织 第一章绪论部分对本文所要研究课题的研究目的及意义作了简要的阐述,列出 课题研究的主要内容。 第二章主要阐述了j 2 e e 多层体系结构、j 2 e e 核心组件;探讨m v c 设计模式, 阐述m v c 模式的原理,分析m v c 设计模式的优点与不足,总结m v c 模式的适用范围。 第三章首先对框架的概念、。意义进行介绍,分析影晌w e b 层应用框架选择的因 素,然后深入剖析s t r u t s 框架的体系结构、实现m v c 设计模式机制、框架的工作 流程、开发流程及各组件的使用。 第四章主要阐述本系统的项目背景和对系统的需求功能分析以及系统开发环 境的选取。 第五章主要对首都食品安全监控系统的总体功能进行设计和基于s t r u t s 框架 的体系结构、网络拓扑结构的设计。重点阐述用s t r u t s 框架如何实现系统中市场 控制、监控点管理两个模块,并且指出在开发中遇见的问题及解决方法,最后就项 目经验进行总结。 第六章主要阐述我国现阶段食品的安全机制以及食品卫生安全监控系统在现 实生活当中的应用。 第七章主要是对本论文的工作进行总结,指出了本文中许多值得研究和探讨的 问题,对今后的工作做出展望。 2 华北电力大学硕士学位论文 第二章j 2 e e 体系结构及m v c 模式 2 1w e b 应用程序体系结构概述 随着w e b 系统复杂度的提高,应用服务器程序采用多层结构,进一步对原有三 层结构的中间层进行细分。从上而下依次为用户界面层、表示逻辑层、业务层、数 据访问层和数据层,如图2 - 1 所示。 用户再面屡叫。,。嚣2 嘉墓,品品要盏单, 一辑蜃一搿c g i 。秽i e | 兰i 羹露琵l ) i 一l :二一“l 缸* * 一* 0 二二二二二二二二二至垂至量i 三二 黼屡 二銮垂墨 图2 - 1 多层结构的w e b 程序 g i c r o s o f t n e t 与s u n j 2 e e 是目前的企业w e b 服务平台市场的两个最重要的应 用架构。它们都在针对分布式多层应用的设计、集成、性能、安全性和可靠性等诸 多方面,为用户提供了总体的指南和规范,基于这些指南和规范,技术提供商提供 了相应的平台、工具和编程环境。在具体的应用架构中,包括了针对应用的表现层 服务、服务器端进程、会话管理、商业逻辑架构、应用数据缓存、应用逻辑、持久 化性、事务、安全和日志服务等等。表2 - 1 列出了n e t 与j 2 e e 的主要特征。它们 之间最重要的差别是n e t 是个套件产品,而j 2 e e 是一组规范和标准,n e t 支持语 言中立,而j 2 e e 支持平台中立;n e t 依附于w i n d w o s 平台,j 2 e e 依附于j a v a 技 术。 华北电力大学硕士学位论文 表2 - 1j 2 e e 与n e t 特征比较 特征j 2 e e n e t 技术类型标准产品 解释器j r ec l r 动态w e b 页面j s p a s p n e t 中间层技术e j b c o m + 数据库访问 j d b c 、s q l a d 0 n e t w e b 服务s o a p 、髂d l 、u d d is o a p 、w s d l 、u d d l 分布协议r m i i i o p d ( j 伽 消息队列a p ij l i sm s m q 命名和目录服务j n d i a s d l 分布式处理j t s m t s j 2 e e 架构在一致性,扩展性、性能方面比n e t 有相当的优势,并且能够提供 更好的安全机制,在企业级大型应用的开发上,j 2 e e 架构能够提供更好的支持。本 系统开发中采用j 2 e e 架构。1 。 2 2j 2 e e 的体系结构 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关的 复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准 版,j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”“1 的特 性,方便存取数据库的j d b ca p i ,c o r b a 技术以及能够在i n t e r n e t 应用中保护数 据的安全模式等等,同时还提供e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v a s e r v l e t s a p i 、 j s p ( j a v as e r v e rp a g e s ) 以及x m l ( x t e n s i b l em a r k u pl a n g u a g e ) 技术的全面支持。 是一个能够使企业开发者大幅缩短投放市场时间的体系结构。 2 2 1j 2 e e 四层模型 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组 件根据他们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷正是为 了解决两层模式“1 ( c l i e n t s e r v e r ) 的弊端,在传统模式中,客户端担当了过多的 角色而显得臃肿,在这种模式中,第一次部署的时候比较容易但难于升级或改进, 可伸展性也不理想,而且经常基于某种专有的协议一通常是某种数据库协议。它使 得重用业务逻辑和界面逻辑非常困难。现在j 2 e e 的多层企业级应用模型将两层化 4 华北电力大学硕士学位论文 模型中的不同层面切分成许多层。个多层化应用能够为不同的每种服务提供一个 独立的层,图2 - 2 显示了j 2 e e 典型的四层结构“1 。 匿因一 崭 2 2 2j 2 e e 核心技术 臣圊层j 一i 服务器 enerpd”i逻辑层lbt a l c sl 4 l 数据库ie 1 s 层盖霎塞 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i ) 和协议构成,它对开 发基于w e b 的多层应用提供了功能支持: 1 j d b c ( j a v ad a t ab a s ec o n n e c t i v i t y ) 为访问不同的数据库提供了一种统一 的途径。 2 j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) 用于执行名字和目录服务。 3 e j b ( e n t e r p r i s ej a v a b e a n s ) 提供了一个框架来开发和实施分布式的商务逻 辑。由此,简化了可伸缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组件在何时、如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目 录服务、事务服务、安全性、资源缓冲池以及容错性等。 4 r m i ( r e m o t em e t h o di n v o k e ) 协议用于调用远程对象上的方法。它使用了序 列化方式在客户端和服务端传递数据。r m i 是一种被e j b 使用的较低层的协议。 5 j a v ai d l c o r b a ,开发人员可以将j a v a 和c o r b a 集成在一起。 6 j s p 可以接受客户端的请求并动态地生成h t m l 响应页面。 7 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是一种可以用来定义其他标记语言的语 言,它通常被用在不同的系统或不同的商务过程之间共享数据。x m l 的发展和j a v a 是相互独立的。但是,它和j a v a 具有相同的目标一平台的独立性。通常将j a v a 和 x m l 结合,可以得到一个完美的、具有平台独立性的企业系统集成方案。 8 j m s ( j a v am e s s a g es e r v i c e ) 用来和面向消息的中间件通信的应用程序接口 ( a p i ) 。 9 j t a ( j a v at r a n s a c t i o na r c h i t e c t u r e ) 定义了一种标准的a p i ,应用系统 5 园 固 华北电力大学硕士学位论文 可以利用它来访问和实现各种事务。 1 0 j t s ( j a v at r a n s a c t i o ns e r v i c e ) 是c o r b ao t s 事务监控的基本实现,它 规定了事务管理器的实现方式。 1 1 j a v am a i l ,j a v am a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件 服务器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。 2 3 m v c 设计模式 w e b 应用系统多采用b s 模型的三层或多层结构“1 。主要包括用户界面设计、 业务逻辑设计、数据库设计三个主要方面。w e b 应用的传统开发方式将业务逻辑和 表现逻辑集成在一起,混合了h t m l 代码与应用程序逻辑,使得界面设计的更改和 业务逻辑的更新困难,进而导致系统容易出错、调试困难、开发进展缓慢。理想的 w e b 程序要求无论客户是何种类型( 如浏览器、a p p e t 或手机等) ,数据的查询和处 理都使用相同的数据资源,改变客户类型和程序界面不会影响到数据处理的部分。 这就要求将程序中“变”和,“不变”的部分分开,尽量减少组件之间不必要的联系, 使其相对独立并保持松散连接。 2 3 1w c 模式的工作原理 m v c ( m o d e l v i e w - c o n t r o l l e r ) 是一种设计模式,它来源于面向对象语言 s m a l l t a l k 。它强制性的把应用程序的输入、处理、输出分开。m v c 把应用程序分 成三个核心模块:模型、视图、控制器,它们分别担负不同的任务,以提高应用程 序的可扩展性。图2 - 3 显示了这几个模块各自的功能以及它们的相互关系。 图2 - 3m v c 设计模式 6 华北电力大学硕士学位论文 视图是用户看到并与之交互的界面。视图向用户显示相关数据,并能接收用户 的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态, 但不能改变模型。视图还能接收模型发出的数据更新事件,从而对用户界面进行同 步更新。 模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多 个视图提供数据。由于一个模型可被多个视图重用,所以提高了应用的可重用性。 控制器接收用户的输入并调用模型和视图去完成当前的请求。当w e b 用户单击 w e b 页面中的提交按钮发送来的h t m l 表单时,控制器接收请求并调用相应的模型 组件去处理请求,然后调用相应的视图来显示模型返回的数据。 2 3 2m v c 的优点和不足 m v c 模式的优点: 1 多个视图共享一个模型,大大提高了代码的可重用性。 2 模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用 程序的数据层和业务规则。 3 控制器提高了应用程序的灵活性和可配置性。 4 m v c 可以很好地表达用户的交互。 5 ,可以很方便地用多个视图显示多套数据,使系统很方便地支持其它新的客户 端类型。 m v c 模式的不足: 1 理解困难,耗费时间。由于它没有明确的定义,所以完全理解m v c 并不是很 容易。使用m v c 需要精心的计划,由于它的内部原理比较复杂,所以将不得不花费 相当可观的时间去考虑如何将m v c 运用到应用程序中。 2 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循m v c ,使模型、 视图与控制器分离,会增加结构的复杂性,也给调试应用程序带来了一定的困难, 并可能产生过多的更新操作而降低运行效率。 2 3 3m v c 模式的适用范围 通过分析m v c 模式的优缺点可得到的结论是:m v c 框架没有必要用于所有的 j a v a 应用程序。因为它在准备和编码时往往很复杂,这对简单的应用程序来说是 7 华北电力大学硕士学位论文 没有必要的。当页面导航相对来说比较简单和固定,而且应用程序中的页面结构可 以由一个简单的目录结构管理时,j s pm o d e ll 架构仍然是最好的方法。这些应用 程序往往将页面流动信息嵌入到页面间的链接中。对于对流量和可扩展性需求有限 的静态的应用程序来说,标准的j s p 模式也是一个可行的选择方案。 2 3 4j s pm o d e ii 与j s pm o d e i 2 尽管m v c 设计模式很早就出现了,但在w e b 应用的开发中引入m v c 却是举步维 艰。主要原因是在早期的w e b 应用开发中,程序语言和m t m l 的分离一直难以实现。 通常在j s p 页面执行业务逻辑的程序代码,和h t m l 表示层数据混杂在一起,难以 分离出单独的业务模型,造成h t m l 和j a v a 代码强耦合、调试困难等诸多问题。为 了解决这些问题,s u n 公司先后制定了两种规范“”,j s p 模型1 ( m o d e l1 ) 和j s p 模型2 ( m o d e l2 ) 。虽然m o d e l1 在一定程度上实现了m v c ,但是它的运用并不理想: 直到基于j 2 e e 的j s pm o d e l2 问世才得以改观。 1 j s pm o d e l1 m o d e l1 被称为“以j s p 为中心”的设计模式,是j s p 和j a v a b e a n 技术的结合。 j s p 页面独自响应请求,处理后把结果返回给客户端“”。所有的数据都通过 j a v a b e a n 处理,j s p 页面同时实现显示、业务逻辑和流程控制功能,从而快速完成 应用开发。其结构如图2 - 4 所示。 1 ,请求 j s p 3 曰 浏 2 览 器 上 4 ,响应 ( j a v a b e a n ) w c b 服务器应用服务器和数据库 图2 - 4j s p m o d e l l 结构 使用m o d e ll 开发的w e b 应用是一组j s p 页面,对于快速小规模应用开发比较 有优势。但是从工程角度考虑,不足之处有两点:一是应用的实现依赖过程,一组 j s p 页面实现一个业务流程,如需改动,必须进行多处修改,不利于扩展和更新: 华北电力大学硕士学位论文 二是应用不是建立在模块上,业务逻辑和表示逻辑混合在j s p 页面中,没有进行抽 象和分离,不利于应用系统业务的重用和改动。 2 j s pm o d e l2 m o d e l 2 是m o d e ll 的改进,完全基于j e e e 体系结构。m o d e l2 又被称为。以 s e r v l e t 为中心”的模式,是j s p ,j a v a b e a n 和s e r v l e t 技术的结合,充分利用了 j s p 和s e r v l e t 两种技术原有的优点,其结构如图2 5 所示: 图2 - 5j s p m o d e i2 结构 m o d e l2 使用一个或多个s e r v l e t 作为控制器。在模型层中,通过j a v a b e a n ( 或 e j 8 组件) 实现应用的业务逻辑;在视图层中,由j s p 页面产生应用的表示;在控 制层中,s e r v l e t 作为控制器处理来自w e b 浏览器的所有请求,然后返回h t t p 响 应信息。从而实现了分离机制,弥补了m o d e l1 的不足“”。 9 华北电力大学硕士学位论文 第三章w e b 层应用框架- s t r u t s 框架研究 当建筑师开始一个建筑项目时,首先要设计该建筑的框架结构,有了这份蓝图, 接下来的实际建筑过程才会有条不紊,井然有序。同样,软件开发者开发一个软件 项目时,首先也应该构思软件应用的框架,规划软件模块,并定义这些模块之间的 接口和关系。框架可以提高软件开发的速度和效率,并且使软件更便于维护“对。 对于开发w e b 应用,要从头设计并开发出一个可靠、稳定的框架并不是一件容 易的事。s t r u t s 框架作为一个开源的w e b 层框架,是m v c 及j 2 e e 若干核心模式的 标准实现,提供了可复用的软件构架,全面减轻了构建多层w e b 应用的负担“”。本 章就s t r u t s 框架展开讨论。 3 1 框架 框架( f r a m e w o r k ) 是软件系统的整体或部分的可重用设计,阐明了整个设计, 协作组件之间的依赖关系、责任分配和控制流程,表现为一组抽象组件及组件实例 之间交互的方法。另一种定义认为,框架关注应用领域中已建立的系统结构,是可 以被开发人员定制的应用系统的架构,是大粒度的可重用部件。前者是从应用方面 而后者是从目的方面给出的定义“”。 可以说框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个 设计,协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其 实例之间协作的方法,它为构件复用提供了上下( c o n t e x t ) 关系。 3 1 1 影响w e b 层应用框架选择的因素 在w e b 应用开发中,如何提高w e b 系统的可重用性、可扩展性、可维护性, 降低构建和维护成本,成为业界普遍关注的焦点。近年来,涌现出许多j a v aw e b 层开源框架,据2 0 0 4 年3 月的初步统计,共有5 4 种,如s t r u t s 、w e b w o r k 、s p r i n g m v c 等“”。面对诸多框架,如何选择合适的框架用于实际开发成为一个棘手的问 题。选择w e b 层框架的主要因素有以下几个方面: 适用性方面 任何框架都只是适用于特定范围的应用开发。在选择框架时,需要考虑分布式 应用的复杂性、生命周期、可伸缩性、可扩展性等方面的要求。 1 0 华北电力大学硕士学位论文 文档方面 开发人员仅仅从代码理解框架非常困难,尤其对于开源项目而言,必须辅以层 次高于代码的文档。框架的文档分为两种:参考文档( t u t o r i a l ) 和使用文档 ( j a v a d o c s ) 。 工具支持方面 集成开发环境( i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t ,简称i d e ) 对框架的支 持将进一步降低框架使用的难度。 用户界面方面 是否易于创建用户界面是评价框架的因素之一。大多数w e b 层框架都提供了客 户自定义标签或者模板来创建用户界面。强大的用户界面组件可以使开发人员方便 地设计出复杂的界面。 3 1 2 框架对于软件开发的意义 1 知识积累 框架的核心价值是对知识的积累。软件开发是一项知识性的活动。但是知识存 在于人的大脑中,是最难进行积累的。而在软件开发中,代码是最确定的知识,人 和机器通过浏览代码都能够了解代码的目的,而且不会出现不同的理解“”。所以, 从代码出发进行知识的积累是最佳的办法。框架就是这种思路的产出物。框架包含 了大量的代码,这些代码是对某个特定问题领域中的抽象概念及这些抽象概念之间 关系的描述。所以,框架能够胜任知识积累的工作。 2 鼓励重用 框架之所以称为框架,是因为它可以重用。在软件组织中形成以框架为核心的 开发方式,在开发中使用框架,并在开发完成后改进框架。在这个反复的过程中, 重用的工作就已经开展起来了。 3 优化架构 框架代表了一种优秀的软件架构。框架定义了扩展方式,从而规范了框架的使 用行为。这使得软件能够保持整体架构的稳定性和一致性。 4 大规模软件设计 大规模的软件设计关键在于对应用进行合理的划分,并提供一种一致的方式建 立架构。在大规模的软件设计中,框架可以实现核心设计人员工作在同一个抽象的 层次上。 华北电力大学硕士学位论文 3 2s t r u t s 框架 3 2 1s t r u t s 的体系结构 s t r u t s 的体系结构实现了m v c 设计模式的概念,它将这些概念映射到w e b 应用 程序的组件和概念中。图3 - 1 “。1 显示了s t r u t s 框架的体系结构响应客户的请求时, 各部分工作的原理,从m v c 的角度体现了s t r u t s 框架中的各种组件的功能角色。 图3 - 1s t r u t s 的体系结构 3 2 2s t r u t s 实现m v c 的机制 s t r u t s 实质上就是在j s pm o d e l2 基础上实现的一个m v c 框架,下图3 2 显示 s t r u t s 实现的m v c 框架。 f 浏览器l c 模型,i j a v a b c m 黛 | 啪l 竺1 1 图3 2s 订u t s 实现的i v l v c 框架 1 2 华北电力大学硕士学位论文 作为一个m v c 框架,s t r u t s 对m o d e lo v i e w - c o n t r o l i e r 都提供相对应的实现组 件“”,对应于图3 2 ,分别阐述如下: 视图( v i e w ) :s t r u t s 应用中的v i e w 部分是通过j s p 技术实现的,用于显示模 型的数据,其中不包含流程逻辑、业务逻辑,更不包含模型信息,只有标记。j s p 标记是h t m l 标记的延续和扩展,而s t r u t s 标记又是j s p 标记的丰富和补充,s t r u t s 包括了一个广阔的便于创建的用户界面,并且充分国际化的定制标签库, a c t i o n f o r m 通过一定的规则巧妙的相互配合,实现页面与j a v a 代码的分离,由控 制器自动处理页面与a c t i o n f o r m 的数据交换。同时这些自定义的标记还提供了像 模板定制等多种显示功能。 模型( m o d u l e ) :模型表示应用程序的状态和业务逻辑。对于大型的应用,业 务逻辑通常由j a v a b e a n 或e j b 组件来实现。系统的状态主要由a c t i o n f o r m 和a c t i o n 体现,a c t i o n f o r m 是视图与模型数据交换的桥梁,a c t i o n 则是业务逻辑的具体实 现者,也是整个w e b 应用开发的中心所在,它开发质量的优劣,直接关系到整个w e b 应用开发的成败。 控制器( c o n t r o l l e r ) :控制器的作用是从客户端接收请求,并且执行相应的 业务逻辑,然后把相应结果送回到客户端,在s t r u t s 中,控制器主要由 a c t i o n s e r v l e t 和a c t i o n 类构成,核心是s e r v l e t 类型的a c t i o n s e r v l e t 。它用来 接收客户端的请求,是整个w e b 应用运行的调度者。a c t i o n s e r v l e t 包括一组基于 配置的a c t i o n m a p p i n g 对象,每个a c t i o n m a p p i n g 对象实现一个请求到一个具体 m o d e l 部分中a c t i o n 处理器对象之间的映射”j 。 s t r u t s c o n f i g x m l :通过s t r u t s c o n f i g x m l 来配置s t r u t s 系统中各个模块 间的交互,且这些配置信息在系统启动的时候被读入内存,供s t r u t s 在运行期间 使用。 3 2 3s t r u t s 的工作流程 对于采用s t r u t s 框架的w e b 应用,在w e b 启动时就会加载并初始化 a c t i o n s e r v l e t 。a c t i o n s e r v l e t 从s t r u t s c o n f i g x m l 文件中读取配置信息,把他 们存放到各种配置对象中,例如a c t i o n 的映射信息存放到a c t i o n m a p p i n g 对象中。 当a c t i o n s e r v l e t 接收到一个客户请求时o ”,将执行如下流程: ( 1 ) 检索和用户请求匹配的a c t i o n m a p p i n g 实例,如果不存在,就返回用户请 求路径无效信息。 ( 2 ) 如果a c t i o n f o r m 实例不存在,就创建一个a c t i o n f o r m 对象,把客户提交 的表单数据存到a c t i o n f o r m 对象中。 ( 3 ) 根据配置信息决定是否需要表单验证,如果需要验证,就调用a c t i o n f o r m 1 3 华北电力大学硕士学位论文 的v a l i d a t e 0 方法。 ( 4 ) 如果a c t i o n f o r m 的v a l i d a t e 0 方法返回n u l l 或返回一个不包含 a e t i o n m e s s a g e 的a c t i o n e r r o r s 对象,就表示表单验证成功。如果a c t i o n f o r m 的 v a l i d a t e ( ) 方法返回一个包含一个或多个的a c t i o n m e s s a g e 的a c t i o n e r r o r s 对象, 就表示表单验证失败,此时a c t i o n s e r v l e t 就直接把请求转发给包含用户提交表单 的j s p 组件。 ( 5 ) a c t i o n s e r v l e t 根据a c t i o n m a p p i n g 实例包含的映射信息决定请求转发给 哪个a c t i o n 。如果相应的a c t i o n 实例不存在,就创建这个实例,然后调用a c t i o n 的e x e c u t e ( ) 方法 ( 6 ) a c t i o n 的e x e c u t e0 方法返回一个a c t i o n f o r w a r d 对象,a c t i o n s e r v l e t 再把客户请求转发给a c t i o n f o r w a r d 对象指向的j s p 组件。 ( 7 ) a c t i o n f o r w a r d 对象指向的j s p 组件生成动态网页,返回给客户。 如图3 - 3 所示。 图3 - 3s t r u t s 响应用户请求的工作流程 3 3 其它w e b 层框架 m v c 作为一种设计模式,有众多框架来实现它,比较典型的有s t r u t s 、j r t o 、 j s f 、s p r i n g 和w e b w o r k 等,正确的选择适合于项目的开发框架有利于提高开发效 率和系统质量。”。下面分别加以介绍。 1 j a t o 1 4 华北电力大学硕士学位论文 j a t o 应用程序框架是i p l a n e t 应用程序框架的旧名。它是一个成熟的、强大的, 基于j 2 e e 标准的面向于开发w e b 应用程序的应用框架。结合了显示字段、应用程 序事件、组件层次和以页面为中心的开发方法、以及m v c 和服务到工作者 s e r v i c e t o w o r k e r s 的设计模式等概念。j a t o 可适用于中、大、超大规模的w e b 应用。但是它不是一个企业层的应用框架,也就是说它不会直接提供创建e j b 、w e b s e r v i c e s 等企业层组件的方法,但是它可以构造出访问企业层组件的客户应用。 j a t o 应用框架的优点: 这种框架的适用范围大,既提供了底层接口,也有立即可用的组件,具有与客 户端r a d 开发工具相似的开发概念,如页面为中心( 等同于v b 的f r o m ) ,事件处理 等,对大型的应用支持较好。 j a t o 应用框架的缺点: 不是业界标准,目前还没有开发工具的支持( 虽然j a t o 己经为工具支持做好了 准备) ;没有定义网页导航,开发者在视图中自己指定具体的导航u r l 。 2 j s f j s f ( j a v as e r v e rf a c e ) 技术为构建j a v a 服务应用的用户接口进行了简化。通 过使用j a v as e r v e rf a c e 提供的良好编程模型,不同级别的用户可以快速构建: 构建w e b 应用的过程如下:在个页面中组装可重用的u i 组件,连接这些组 件到应用数据源,然后把客户端的事件和服务器端事件h a n d l e 绑定。 j s f 的优点:j 2 e e 标准、易于开发、丰富的导航框架。 j s f 的缺点:j s p 标签差,技术不成熟。 3 4s t r u t s 框架的优势及不足 s t r u t s 是一种优秀的j 2 e em v c 架构方式,它的t a g l i b 标记库灵活性大,大大 提高了开发效率,同时利用a c t i o n s e r v l e t 配合s t r u t s c o n f i g x m l 实现对整个系 统的导航,使系统的脉络更加清楚,增强了系统开发人员对系统的整体把握o ”。而 且在s t r u t s 中,程序的流程控制不是直接写在源代码中,而是利用x m l 配置文件 来完成,当程序或页面数发生变化时,通过修改x m l 文件可以方便地对程序流程进 行控制,迸一步提高了软件的可扩展性。同时s t r u t s 是一个o p e ns o u r c e 项目, 每天都被j a v ac o m m u n i t y 开发人员使用和测试,并不断得到更新,为使用s t r u t s 框架的开发人员提供先进的思想,使用s t r u t s 架构技术开发的w e b 应用具有层次 结构清晰,易于分工协作,代码重用率高,维护扩展性好等优点,尤其适合大中型 的w e b 应用开发“”。但它也存在一些不足的地方,如:不是业界标准,仍处于发展 阶段,标记库比较复杂,对中文支持不够等问题。 1 5 华北电力大学硕士学位论文 4 1 系统背景 第四章食品安全监控系统分析 食品卫生安全是一个复杂的系统工程,它涉及生态农业、食品加工、市场规范 和政府的监管等环节。“民以食为天”,饮食是人类社会生存发展的第一需要。“病 从口入”,饮食不卫生、不安全,又是百病之源。食品卫生安全,是一个听起来生 疏却与人们日常生活密切相关的概念。食品卫生安全问题与消费者的切身利害关 系,决定了消费者日趋自觉地将其作为指导饮食消费方式的原则以及选取、采购食 品的首要取舍标准。食品卫生安全作为食品功能的最重要的组成部分,以及忽视食 品卫生安全对人民生活和社会安定带来的严重后果,对食品的生产者、消费者、经 营者、管理者提出了日益紧迫的课题。如何从当前和长远的角度进一步认识食品安 全问题的诸多方面,理顺影响食品安全链条上的各种关系,并建立保证食品安全的 有效监管模式,确保把食品安全问题落到实处是当务之急。 综合以上因素,北京市将建立一套食品安全监控系统,这套系统要包括大到全 市食品生产加工企业、商场超市、农副产品批发市场、餐饮企业的食品安全状况, 小到与居民生活密切相关的粮、油、肉、菜等某一类食品的安全信息,这样大部分 食品信息都处于政府部门的掌控之中。 食品安全系统将会记录北京市食品生产经营单位和流通领域食品基本状况、监 测与监督抽查结果和食品案件查处的历史数据。而且市食品安全办将在全市2 8 0 家 食品生产加工企业、5 0 个安全食用农产品生产基地、1 8 家生猪定点屠宰厂、5 9 家 学生营养餐加工配送企业、2 1 家大型农副产品批发市场、9 4 家零售批发市场、5 6 家大中型商场和连锁超市、5 0 0 家餐饮企业和主要高校、中央机关、驻京部队食品 供应点和食堂设置监控点,采集各类基础数据,随时监控本市食品安全状况。同时, 3 7 类与群众生活密切相关的食品也将纳入监控系统,及时向社会发布安全食品信 息。 食品安全系统能够初步建立起覆盖全北京市的食品监控体系,能对全市范围内 的食品安全进行全面的管理,能够对食品的生产、流通、问题追溯、市场控制、案 件处理等各个环节进行管理,在管理过程中形成相应的食品信用档案。 在建立食品安全监控体系的基础上,根据食品安全管理所形成的食品信用档 案,同时结合各种分析要素,建立食品安全评估模型、食品安全决策分析指标体系, 从而建立起完整的食品安全评价体系,形成对社会公众具有指导意义的食品安全信 用指数。 整个系统与原有的金网系统存在大量的信息交换,交换的内容体现在主体的信 1 6 华北电力大学硕士学位论文 息、日常年检的信息等。 与信用系统存在数据交换,交换的内容为主体的信用信息。 与原有的地理信息系统存在数据交换,提供结果展示场所。 与移动平台存在数据交换,接收移动平台的数据,进行采集、处理、发布;同 时向移动平台发送数据。 4 2 基于u m l 的系统需求分析 4 2 1 系统功能需求 1 系统的基本功能 整个食品卫生安全监控网站平台是一个基于w w (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论