1. 网站地图
  2. 设为首页
  3. 关于我们


基于SSH架构的广电发射传输中心信息管理 系统设计与实现

发布时间:2023-08-13 10:15
目 录
第一章 绪 论 1
1.1课题研究背景、目的和意义 1
1.2课题研究的目标及内容 2
1.3国内外研究现状 3
1.4论文的结构 4
第二章 系统的相关技术概述 6
2.1项目开发的工具 6
2.2关键技术概述 6
2.2.1JSP 和 JavaScript 6
2.2.2JSON 对象 7
2.2.3Kendo UI 的简介 9
2.3本章小结 12
第三章 广电发射传输中心信息管理系统的开发环境 13
3.1系统概述 13
3.2系统运行环境 13
3.3系统架构描述 16
3.3.1MVC三层架构描述 18
3.3.2SSH 框架介绍 19
3.4软件结构描述 23
3.5本章小结 25
第四章 广电发射传输中心信息管理系统的需求分析 26
4.1系统需求分析 26
4.1.1用户需求分析 26
4.1.2系统功能需求 26
4.2系统非功能性需求 29
4.3本章小结 29
第五章 广电发射传输中心信息管理系统的详细设计 30
5.1界面构思 30
5.2系统总体构架设计 32
5.3系统各层构架设计 32
5.3.1WEB 表示层设计 32
5.3.2业务逻辑层设计 34
5.3.3数据适配层设计 35
5.4系统数据库设计 35
5.4.1数据库E-R图 35
5.4.2数据库表设计 36
5.4.3连接数据库设计 38
5.5本章小结 38
第六章 广电发射传输中心信息管理系统实现 39
6.1系统的开发环境 39
6.2系统模块的实现 39
6.2.1登陆功能的实现 39
6.2.2用户操作模块的实现 41
6.2.3系统管理模块的实现 44
6.2.4播出记录模块的实现 46
6.2.5技术资料模块的实现 49
6.2.6维护记录模块的实现 53
6.2.7专业训练模块的实现 55
6.2.8器材管理模块的实现 58
6.3本章小结 59
第七章 系统测试 60
7.1测试目的 60
7.2测试方法 60
7.3测试内容 61
7.4测试环境 61
7.5用户测试 62
7.6功能测试 62
7.6.1播出记录功能测试 62
7.6.2技术资料功能测试 63
7.6.3维护记录功能测试 65
7.6.4专业训练功能测试 66
7.6.5器材管理功能测试 67
7.7测试结果分析和说明 68
7.8本章小结 68
第八章 总结和展望 69
8.1 论文总结 69
8.2工作展望 69
致 谢 70
参考文献 71
第一章 绪 论
1.1课题研究背景、目的和意义
广播电视发展在中国有60 多年的历史,它以实时的音频、视频方式,改变着 人们的生活,尽管在互联网新媒体普及的时代,仍然有着不可取代的地位。广播 技术从AM (调幅)、FM (调频)到近年来DAM (数字音频广播)、DMB (数 字多媒体广播),电视技术从黑白模拟到彩色数字,广播电视的发展不仅表现在 以上形式,也从业务上变得更丰满,从单一的无线载体到有限载体,再到平台运 营商,其迎来了新的发展机遇。
我国广播电视节目不仅负责传播大众喜爱的节目,还是要将党和政府的声音 传到千家万户,具有特殊的意义。随着市场经济的发展,人们的物质生活与精神 生活日益丰富,人们对广播电视节目的要求也变得多样化,这样促使广播电视节 目种类也丰富多彩,播出时间也成了二十四小时不间断,虽然满足了不同的用户 需求,但同时工作人员的工作量也增加,提高工作效率、确保安全播出,成了广 播电视发展最重要的目标。
广电发射传输中心管理的无线发射台站都建在离市区较远的高山,需要安排 人员全年都要坚守,在机房内监控播出情况,每几个小时巡检一次,并用纸质记 录设备运行数据。每套节目都有自己的维护检修时间,需要人工进行维护并做好 记录,为提高专业维护水平、应急处理故障能力,还要经常进行专业化训练,这 些都要做好手工记录。随着信息化时代的不断进步,单纯的通过纸张记录信息, 已不能顺应时代的发展了。纸张记录信息存在很多的缺点,首先,记录的信息长 年累月的积累下来,保管很不方便,存在发生意外导致信息丢失的情况,比如较 早的记录由于年限太长字迹模糊不清或者由于意外导致资料不完整等,其次,大 量的信息需要整理和收集,既浪费时间又浪费人力,而且要有专门的部门来管理 这些资料,才能保证信息的准确,最重要的一点是当某些信息被拿出来使用时, 又要花费大量的时间来进行查找,这种查找方法不仅麻烦而且信息的准确度不高。 另一方面,对大量数据进行了记录,当这些数据被使用时,制作成数据分析报表 时,过程需要花费大量的人力和时间,而且这种人为的制作方法会存在误差,要 经过很多次的验证之后,才能最终确定数据无误差性,在数据采集之后不能快速 准确的得到数据分析结果,事件处理周期不能缩短,效率相对存在滞后性。
所以对大量信息的处理,我们应该开发相对应的软件管理系统,通过软件来 管理庞大数据,这样不仅提高工作效率,而且能节约大量的时间和人力,保证数
据处理的正确性。当为系统培训一名管理员,让他了解整个系统所具备的功能以
及操作方法,那么他就可以独立完成数据的收集、处理、以及展示,轻轻松松完 成复杂的工作,提高工作效率。因此,广电发射传输中心对他们的发射机的播出 记录以及文档的管理采用系统的软件管理,提高资料的管理效率,这不仅是现代 社会对他们的要求,也是自身发展的需求。
在今天,随着信息技术的高速发展,企业,单位对于工作效率的提高也有着
新的要求与目标。各行各业借助计算机技术,简化工作流程,提高自身工作效率。
资料,设备的管理是各企业、单位管理中的重要环节,是关系着整个企业或单位 资源利用,高效益回收的关键。将资料,设备管理信息化,网络化,可以优化企 业内部的管理,简化以前陈旧的人工管理模式,从而在空间,时间上极大的提高 企业管理的效率,进而提高企业的效益。作者参与的基于SSH架构的四川广播电 视台发射传输中心信息管理系统,就是基于安全播出、技术质量、节目内容、运 行状况等四个方面,为了实现资料,设备的一体化、达到事前预警、事中监控、 事后追究的信息化管理目的。一方面,企业由于业务规模的扩大,面临日益庞大 的数据增长压力、新业务功能的持续扩展、服务形态的不断变化、新技术的更替 等多方面的挑战,四川广播电视台发射传输中心需要重新规划IT架构和软件系统; 另一方面,为了获得更强的竞争力,扩大影响力,四川广播电视台发射传输中心 希望充分利用发达的因特网普及业务,弱化地理限制,“足不出户”就能最大范围的 管理,为了电子化、数字化和网络化的整个管理过程,急需建立一个信息系统。
1.2课题研究的目标及内容
1、课题研究目标
本课题研究目标是分析广电发射传输中心信息化管理模式,提出行之有效的 解决方案,设计并实现广电发射传输中心信息管理系统,并在此基础上撰写学位 论文。
2、课题主要研究内容
经过全面的研究分析,广电发射传输中心信息管理系统主要是针对日常管理 工作。比如日常的播出记录工作,技术资料保存、查阅,维护记录记载、查阅, 专业训练的记录,器材管理等方面。该系统功能设计有增加、查询、修改、删除、 浏览、生成统计报表及形成图形直观展示效果。针对管理来说具有安全、方便、 灵活、专业、数据库强大等优点,针对用户来说具有一般的上网知识都可以操作, 易学、易懂、易用的软件管理系统。达到有效降低传输播出事故、提高播出质量、 减轻值机人员的劳动强度,提升安全播出保障能力,促进安全播出工作在科学化、
规范化的道路上迈进了一大步。
本论文主要研究内容从软件设计流程上可做如下划分:
( 1 )广电发射传输中心信息管理系统总体解决方案。
( 2)广电发射传输中心信息管理系统的业务流程分析、系统功能需求分析、 系统的功能设计等。
( 3)广电发射传输中心信息管理系统数据库结构的研究以及设计。
( 4)广电发射传输中心信息管理系统总体架构模式及各模块功能的设计与实
现。
(5)广电发射传输中心信息管理系统报表生成及图形直观展示。
( 6)广电发射传输中心信息管理系统的数据提取。
3、课题拟解决的关键问题 与时俱进,提高广电发射传输中心管理的信息化,为广电发射传输中心的安 全播出、信息管理提供了强有力的技术支撑。在明确系统目标和所需要研究的内
容后,可将课题拟解决的关键问题归纳为以下几个问题:
( 1)在广电发射传输中心信息管理系统软件中运用工作流技术,对单位的工 作流进行重组和优化,减少纸张记录,从而全面地提供工作效率。
( 2)如何发挥 MVC 模式和 SSH 的优势,在这两种技术的支持下,如何开发 更加稳定和优化的系统。
( 3)广电发射传输中心信息管理系统总体解决方案设计。
( 4)广电发射传输中心信息管理系统数据库设计。
( 5)广电发射传输中心信息管理系统功能需求以及功能设计。
( 6)广电发射传输中心信息管理系统总体架构模式设计。
1.3国内外研究现状
在国外,从行业上来讲由意大利人率先将单片机应用在广播电视设备上,随
着半导体迅速的发展,一颗小小的芯片就集成了上千万晶体管的功能,而且处理 速度达到GHz,这种高性能、低功耗、低成本的芯片成为自动化领域的宠儿,日 本东芝公司在广播电视设备信息化上钻研得比较成熟。国外广播电视机构信息化 管理已经进入设备自动化、数字化、网络化,设备本身往往具有遥感遥测功能,
只需要各设备端口标准配备接入控制端,就可以远程操作,不需要人工长期坚守。 单从管理信息系统发展来说, 20世纪 50年代中期,美国通用电气公司就开始了用 计算机处理数据的技术,由于信息化起步较早所以现在也趋于成熟,此类系统在 国外也一直在不断的创新和完善。目前,国外在管理信息系统的应用已经比较普 及,大多数企事业单位已经使用管理信息系统多年,同时也在逐步推行全球化供 应链管理技术和敏捷型系统。国外的信息化管理已经和企业自身的文化融合在一 起,比如全球信息技术领袖企业IBM,就拥有非常成熟完整安全的信息管理方案, 自改革开放以来逐渐被我国更多的企业采纳应用。
在国内,由于历史原因国内广播电视无线发射传输事业发展滞后,各单位设 备不统一,模拟、数字设备均有,部分设备没有控制主芯片及外接端口。大部分 台站都是人工看守管理,对应行业发展,相对落后。在 20 世纪 80 年代,由浙江 广播科学研究所和浙大计算机系共同开发的一款调频广播发射机具有信息化功 能。随着计算机在中国的发展,到2006年国家广播电影电视总局发布了《广播影 视科技发展“十五”规划》文件(广发〔2006〕55 号),提出要加快广播电视无 线发射、传输设施的更新改造,不断提高发射台站自动化进程。2010 年 2 月中旬 国家广播电影电视总局令《广播电视安全播出管理规定》(第62 号)正式施行, 其中对从事广播电视播出、传输、覆盖等业务的单位作了规范的技术要求。同年5 月国家广播电影电视总局发布了《广播电视安全播出管理规定》无线发射转播台 实施细则(试行),再次对无线发射节目的安全播出保障,在系统配置及运行、 维护、技术管理方面提出更具体要求:对自台监控、技术管理等,应建立信息化 管理系统,异态信息有效保存一年以上,确保无线广播电视安全播出。在信息化 的今天,各省无线发射传输中心都在倡导“有人留守无人值班”模式,这也是未 来无线发射传输管理未来发展方向。
每一位工作执行者都期望各部门业务的运行效率提高,以便辅助其主业务。 比如在需要数据时只需输入一个关键字就可以找到并且查看其相关内容,而且他 占用的空间也不大,只需要你有台电脑,就可以轻松的实现对海量信息的管理, 不再担心不能及时得到所需的信息,尤其是需要处理信息时,能快速的查找准确 对应信息,并且展示其内容,还可以通过对信息统计处理以比较直观的方式显示, 通过图形来展示数据的变化是最为直观的,这种数据的展示方式比单纯的数据显 示更加人性化,而且使枯燥的数据更加丰富,让人们更加容易理解记忆,因此, 此系统的开发是势在必行的,它能更好提高广电发射传输中心安全播出保障能力 和管理水平。
1.4论文的结构
本论文共分为八章,首先,论文分析了开发本系统的必要性,以及开发本论 文的背景和重要意义,其次论文详细介绍了本系统的需求,以及我们在开发系统 中需要解决的一些特殊的问题,然后是本系统开发的设计方案,以及系统中一些 重要功能的设计,其次针对系统开发中功能模块设计进行了详细描述,并对于在 开发中出现的问题给出解决方案,呈现结果。然后是对系统运行状况进行分析, 及对系统运行状况作出优化,最后是对本系统开发结束后的总结,以及阐述系统 将来的改进。
论文具体安排如下:
第一章 介绍了开发本系统的背景,以及开发本系统的必要性,通过对广电发 射传输中心信息管理系统业务情况的分析,说明该课题研究的背景和目的。
第二章 介绍了系统开发使用的工具,对关键技术的详细阐述。
第三章 介绍了系统开发的软硬件环境配置,系统整体架构部署,重点讲解了
MVC架构、SSH框架、数据流与数据库的交互、后台的业务逻辑以及前后台的数 据交互。
第四章 对信息管理系统业务进行详细的需求分析,并对系统非功能性进行需 求分析。
第五章对各功能模块进行了详细分析,如何将它与SSH相结合,如何考虑数 据的获取问题,以及对业务流程进行设计。
第六章 辅以流程图、实现截面图、主要代码,对各功能模块的具体实现过程 进行了详细的描述,从如何配置开发环境,以及如何调用数据。
第七章 对实现的页面进行了测试,通过测试用例以及功能测试进行分析。
第八章 对系统的开发过程进行了总结,并说明了系统需完善的部分。
第二章 系统的相关技术概述
2.1项目开发的工具
对项目开发中使用的主要设计和开发的工具进行了介绍:
1、 Microsoft Visio 2003和Star UML在项目需求分析和开发设计中被使用, 可以帮助我们,在对需求有深入细致的了解后,就如何实现其功能,以及功能实 现中类和方法的设计,并且对其开发中所包含的属性关联等都进行设计,对对象 的使用属性性质的变化进行设计,将设计思想用可视化的图例进行展示,以供开 发中作为参考,具体以创建静态的对象、抽象的参与者、复杂的数据关系等为模 型展示。Microsoft Visio 2003可以建立流程图、组织图、时间表、营销图及其它 功能图表,用图表代替文字描述加入文档,让沟通变得更加清晰、生动、有趣, 将复杂过程变得简单化,文档重点一目了然,这种视觉化的信息交流方式让我们 的工作变得更有效率;StarUML是一种创建UML类图,生成类图和其它类型的 统一建模语言图表的工具,它是一个开源项目之一发展灵活、可扩展性强,可绘 制9款UML图:用例图、类图、序列图、状态图、活动图、通行图、模块图、部 署图以及复合结构图等。
2、 MySQL Server 5.5是一款简单实用的数据库,开发者为瑞典MySQL AB公 司,MySQL Server是一个小型关系型数据库管理系统,其优点是:源码开放无版 权费用、数据操作访问速度快、占用空间小;所以很多中小型系统都使用该数据 库。MySQL Server的新特性:表和索引的分区、行级复制、MySQL基群基于磁盘 的数据支持、MySQL集群复制;这是一个完全集成事务安全,事务完整性的数据 库。它包括完整的提交,回滚,崩溃恢复和行级锁定功能。
2.2关键技术概述
2.2.1JSP 和 JavaScript
本系统的页面开发使用的是JSP和JavaScript。
1、JSP是Java Server Pages的缩写,最先由Sun公司发起,很多企业都参与 并发展了这一动态网页技术。JSP技术与ASP技术具有相似性,一个JSP文件包 含JAVA程序段和JSP标记,其跨平台(Linux、Windows、Android等等)、可移 植性强的优点使得它一推出就获得大批企业的支持和推广。当收到请求访问 JSP 网页时,服务器先执行其中的程序段,再把结果和JSP中的HTML代码绑定一起 发送到客户端。比如数据库、重定向网页等就由插入的 Java 程序段操作,建立动 态网页所需的功能就可以这样实现。JSP与JavaServlet有一个共性,就是所有执行 都在服务器端,这样一来返回给客户端的就是一个 HTML 文本,在客户端通过浏 览器就可以查看[1]。
2、JavaScript、jQuery 和 Ajax
JavaScript 是一种网页来执行的脚本语言,其特点是:结构简单,使用方便, 所写代码直接收入到 HTML 文档中,可以在网页中执行,前提是支持 JavaScript 的网页, JavaScript 使得网页更具交互性,网页界面更为活跃,视觉体验更丰富。
jQuery 的使用解决了不同浏览器对 JavaScript 不兼容的问题,使 JavaScript 的 使用更加广泛,随着世界各地众越来越多 JavaScript 高手加入 John Resig 创建的 JQuery, jQuery 成了继承了 prototype 之后又一个优秀的 JavaScript 框架,他主要的 优点是用更少的代码,做更多的事情[2]。
Ajax 是这个词是由一位名叫 JeSSe JameS Garrett 的开发人员创造的,并非单纯 的是 “Asynchronous JavaScript and XML” 缩写(异步 JavaScript 和 XML),它是 JS 的一小部分,是指一种创建交互式 WEB 应用的网页开发技术,每一次交互只更 新数据部分,不会页面整个更新,这样缩短了响应时间[3]。
如图 2-1 所示 Ajax 工作流程,说明了 Ajax 调用数据处理点击事件的过程。
 
图 2-1 Ajax 工作流程
 
2・2・2 JSON对象
JSON是一种轻量级的数据交换格式,其全称是:JavaScript Object Notation。 作为 JavaScript 的一个子集, JSON 既保留了 C 语言家族的习惯,也引入了完全独 立于语言的文本格式,这些特性使得 JSON 在使用起来编程简单、可读性好、易于 编译器解释和生成机器码[4]。JSON可以表示“名称/值对”更复杂的结构,可以表 示数据和复杂的对象,而且不仅仅是键和值的简单列表[5]。JSON对象的各种定义 形式如下:
1、对象(object)是一个无序的“值/对”集合,如图2-2所示为JSON对象 型数据结构:
 
图2-2 JSON对象型数据结构
 
2、 数组(array)是值的有序集合,如图2-3所示为JSON数组型数据结构:
array
| 阳恥 | I
0
图2-3 JSON数组型数据结构
3、 值(value)可以是用双引号标注的字符串、数值、数据、true、false、null、
对象,如图2-4所示JSON值型数据结构:
 
图2-4 JSON值型数据结构
 
4、字符串(String)是所有任意Unicode字符(不含控制符)加双引号(“”), 加反斜线(\)表示转义字符,数据结构如图 2-5 所示:
 
 
图 2-5 JSON 字符串型数据结构
 
5、数值(number)与Java或者C的数值具有相似性,如图2-6所示为JSON 数值型数据结构:
 
图 2-6 JSON 数值型数据结构
 
2.2.3 Kendo UI 的简介
Kendo UI 是一个用于开发现在 HTML UI 操作界面的框架。基于最新技术 HTML5、css3和JavaScript标准设计开发。Kendo包含了开发现代JavaScript开发 所需的所有一切,包括:强大的数据源,通用的拖拉功能,模版和 UI 控件[6]。
Kendo的UI分为 Web、Mobile和DataViz[7]本系统的开发使用的Kendo UI DataViz,它为我们提供了 Area Charts> Bar charts> Pie Charts> Line Charts> Scatter Charts、 Multiple Axes 的模版以及他们的数据定义参考文档,本系统的柱状图开发 使用的是Bar charts。它是一款能帮助我们实现丰富的页面效果的插件。
微软用户界面框架(WPF),微软公司发布于2007年。在Microsoft .NET Framework3.0里是新一代的显示系统。WPF为开发人员提供了一个统一的编程模 型为用户体验用户界面、媒体和文档来构建丰富的 Windows 智能客户端。对于 ASP.NET来说,WPF提供了后台代码窗口模式。在这个模型中,.xaml文件里包 括标记、控制等视觉元素。然而,代码却单独在这样一个包括事件处理程序和其 他代码的.CS或.vb文件里。目前,帮助WPF应用程序开发的主要工具包括Visual Studio 和 Expression Blend 4。Expression Blend[8]是一个用来可视化的设计 WPF 应 用程序的UI和生成可扩展应用程序标记语言(XAML)代码的工具,可以被Visual Studio 准确的通过编译。开发者在 Visual Studio 和 Expression Blend 4 这两个工具 中修改文件内容是同步的。
WPF可以作为一个新的管理信息系统(MIS)的开发平台。但是遗憾的是,WPF 的优势还没有完全被MIS开发人员意识到。目前,相关研究集中在WPF应用程序 的技术特性和阐释。Chris Sells和Ian Griffiths被启发构建WPF的window UI细节。 Wang Chanjuan阐明了 WPF编程的基本知识点[9]。Li Yingbao为WPF的充分使用 提供了阐释。然而,几乎所有对WPF的研究都是分离的,没有把WPF和MIS整 合到一起研究。本文的重点是试着把WPF和MIS结合在一起来研究,在MIS开 发中WPF能做什么。WPF可以创建Windows客户机应用程序或browser-hosted形 式的应用程序,但本文只讨论 Windows 客户机应用程序。作为一种人机系统,用 户界面是一个复杂的并且是管理信息系统的重要组成部分,对于用户体验是非常 重要的。我们可以认为这就相当于人的外表,这将给用户提供一个美好的印象。 新一代信息系统的用户需要高机动性和舒适性。用户希望管理信息系统不仅能为 他们提供丰富的功能,同时也能带给他们一个舒适、愉快的UI。因此,用户是否 能被惊艳的 UI 所吸引对与 MIS 是非常重要的。然而,使用传统的 MIS 开发框架 (Win32 API,MFC,Windows窗体等)很难设计经济惊人的UI。
近年来,计算机硬件的性能尤其是图形设备大幅上升,这将对 MIS 开发提高 用户体验是非常有用的。PresentationFramework、PresentationCore 和 milcore 都是 WPF的主要组件。其中,milcore被写在非托管代码中以便能和DirectX紧密集成 在一起。在WPF里所有的显示都是通过DirectX引擎以便允许高效的硬件和软件 渲染。微软 DirectX 是 Windows 核心技术,用来驱动高速多媒体电脑和游戏。利 用DirectX,WPF使MIS呈现丰富的多媒体元素,例如全彩图像,视频,3d动画, 和丰富的音频[10]。
WPF 引入了一个广泛的、可伸缩的和灵活的图形特性,比如先进的图形和动 画的支持,硬件加速等等。WPF不仅提供了一个共同vector-drawn的二维形状的 文库,同时也包括3d渲染能力。例如,图一显示二维图像上呈现三维形状。此外, WPF为图像、动画、音频和视频提供特殊支持,使MIS开发人员可以构建更容易 令人兴奋和有趣的UI和内容。令人兴奋地是,所有这些工作都可以用WPF开发 工具 Visual Studio 2010 或 Expression Blend 4 轻松高效地完成。不需要其他的图形 工具(Adobe Photoshop, Adobe Illustrator, Autodesk 3d Studio Max 等等)辅助完成。
一般来说, MIS 开发团队包括分析师、设计师、程序员、数据库管理员等等。 特别是UI设计师和程序员他们之间有一个明确的划分。前者负责MIS的UI设计, 后者负责程序代码。在WPF发布之前,UI设计师和程序员在MIS开发合作时是 非常浪费时间和低效的。文献[11]显然是一个典型的关于他们之间的协作过程:首 先。需求分析完成后,根据用户要求的范围,程序员设计用户界面,然后专注于代 码;其次, UI 设计人员设计 UI 使用专业图形软件同步,如 Adobe Photoshop 和 Autodesk 3d Studio Max。第三,程序员UI设计师设计的图形转移到windows或页 面使用的编程语言。在这一过程中存在一些问题:不匹配图形用户界面和MIS的功 能,从图形用户界面编程语言不完美过渡,这个过渡是困难的和浪费时间的。
以上叙述的原因是什么呢? UI设计人员的结果不能由程序员直接重用,这就 是问题的关键。我们不能要求UI设计人员使用编程语言,同样也不能要求程序员 在他们工作时使用Photoshop来完成。为了解决这个问题,微软在WPF内提供了 一个新的标记语言——XAML。目的就是让UI开发人员和设计师都能更有效地完 成他们的工作。
Expression Blend 4[12]和 Visual Studio 2010 是 WPF 平台的两个工具。前者是设 计用户界面的工具,后者是程序代码的工具。他们都能生成XAML代码,这有助 于消除传统上在设计和开发过程中存在的障碍和瓶颈。在 Expression Blend 4 中, 设计师创建UI的MIS视觉,画形状,路径,并控制艺术面板,然后修改他们的外 观和动作。他们可以插入图片、视频和声音,或从 Adobe Photoshop 或者 Adobe Illustrator 导入对象,他们通过 XAML 来呈现视觉设计,通过 Expression Blend 4 和visual Studio 2010可以共享项目,代码,资源。在完成一个UI,设计师可以右 键单击项目名称,选择“编辑”在 Visual Studio Expression Blend 4 中的弹出菜单。 你用Visual Studio 2010打开由Expression Blend 4所创建的.xaml文件,你可以看 到他们是完全一样的。程序员可以基于此文件上继续编程。不需要任何的转换, 不需要再重新设计 UI。
良好的用户体验和健壮的核心架构的优势与联合的力量汇集在 Expression Blend 4和Visual Studio 2010中,通过XAML加速了应用程序交付。总之,WPF 帮助用户界面设计师和 MIS 程序员更加专注于自己的工作,尤其是减轻了程序员 的 UI 设计工作。
2.3本章小结
本章主要介绍了系统设计中使用的工具,以及对各项技术进行了简要的概述 说明他们所具有的一些特性,以及他们的优点等。
第三章 广电发射传输中心信息管理系统的开发环境
3.1系统概述
该广电发射传输中心信息管理系统是一款对播出记录、文档管理和资料等信 息进行管理的系统,实现对业务更好的管理作用,让各项资料得到综合的管理和 展示,资料的管理更加方便高效。由于它是一款信息管理系统,更多的是对信息 的管理,所以我们在开发的时候使用java语言开发,通过SSH框架实现业务逻辑, 因为它能更加方便的实现信息的增删改查,让系统的开发更加简单,业务逻辑的 实现更加容易理解,本系统界面的开发使用JSP,他们的结合能使页面开发效果更 加绚丽,让页面整体展示效果更加丰满美观,功能的操作效果更加人性化,它实 现了播出记录、技术资料和器材管理三个模块。
3.2系统运行环境
软件系统的运行需要一个环境来支持它,它分为硬件环境和软件环境:
1、 硬件环境
CPU:P4 3.0以上;
内存:1GB以上
硬盘:硬盘 80G;
2、 软件环境
开发语言:Java
开发工具:MyEclipse &5
数据库:MySQL Server 5.5
界面设计工具:Adobe Dreamweaver
服务器软件:Apache-tomcat-6.0.14
JDK 版本:JDK Version1.6.0.07
操作系统:Windows Server2003
随着企业的适应和改造他们的业务流程和IT业务系统,以满足新的挑战和应 对客户许多决定基于SOA系统实施的需求。成本效率、灵活性、适应性的保证吸 引了众多企业尝试SOA,并且在很多情况下,对基于SOA的新系统作出重大投资。 为了推动改造自己的业务流程和IT业务系统,很多组织正在开展合理化方案,以 确定什么样的战略,他们将继续在未来,什么样的业务流程将支持这些战略,并 确定IT系统是必要的。由于这种合理化的一部分,许多组织正在向基于SOA的 系统。有各种不同的引入SOA方面的挖掘和重用遗留收购一个基于SOA的环境 中的服务组件SOA基础设施和发展。
构建基于SOA的组织的主要顾虑之一系统应该是不论这些系统能够满足品质 特性的服务质量(QoS)的要求。SOA的使用,就可以有一个一些质量属性,并 积极的影响产生负面影响其他[13]。一些组织的主要问题处理他们的安全性,性能, 可用性和互操作性基于SOA的系统。确定到底是什么的QoS建立自己的系统,以 符合这些要求,要求,分析系统,以确保它们符合并确定什么是他们的服务质量 和管理所有这一切通过指定和谈判的服务水平协议(SLA)的,可组织相当繁重。 我们一直在努力建筑性能和 QoS 建模和仿真工具,并概述一些开放性的问题,还 需要进一步研究。当一个组织准备开始使用SOA又不想放弃在现有系统上的投入, 但又不得不处理这些问题的时候,那就需要确定哪些服务是必须的,现有系统上 的哪些组件可以迁移填补服务的需要。以下几个事情是需要去做的:确定哪些服 务会被SOA使用到。一个组织可以通过开发一个自上而下结构的业务流程和识别 服务的完整企业架构来达到这个目标,或者通过检查它的每个现有系统,确定共 同进程或者函数和自上而下的识别这些服务。不管使用哪种方法,怎样识别服务 都是一个主要问题。确定遗留或者现有的哪些组件可以满足服务的需求和需要做 什么来把这些组件作为服务迁移和重用。做这些之前,需要确定这样的迁移所需 的成本和精力,以此来确定挖掘和重用的可行性。SMART是一个可以用来帮助确 定所需成本和精力的方法。
无论选择哪种方法(自底向上或自顶向下),如果遗留组件是用来满足服务需求 的话,那么识别满足性能和 QoS 要求的服务是非常重要的。识别和挖掘所需服务 的方法要考虑这些要求,进行详细的分析,确定这些服务是否能满足当前和未来 的QoS的要求。作为一个组织,推进SOA策略服务发展将会被识别,要么内部, 要么外部,需要结合组织的现有系统。组织将需要能够确定服务会集成哪些系统, 涉及的工作范围包括估计做这项工作的成本和精力。该组织还必须确定不同的结 构选择将在各种质量属性和 QoS 方面对系统产生什么样的影响。以及必须确定其 应用程序和系统的SLA(Service-Level Agreement[14],服务等级协议)和服务需要的 QoS 要求,它消耗并与服务提供者协商这些。
我们目前正在研究一个方法来解决这些问题,我们称之为SMAT-AUS。该方 法由以下几个部分组成:确定集成的范围,规模,工作量和成本;详细建模与研 究性能的仿真实验,以及QoS关于能够生成可替代架构解决方案,以满足不同QoS 的要求的能力。一个关于服务整合的主要的未解决问题是,这种规模的集成工作 和各种其他部分如何构成成本的。数据元素的数量,系统的复杂性,服务的复杂 性,过程的复杂性,试用标准,潜在风险等都影响成本。解决在SOA项目中的成 本(个人活动及总成本)厘定的方法和技术的开发仍需在整个行业中进行充分开发, 测试和试用。为了运行和管理SOA应用程序,一个组织需要一个SOA基础设施。 SOA基础设施包括几个部分来支持SOA的主要方面,包括安全,治理,管理,编 制和资源(例如虚拟化)。 Gartner 列出了以下几个在 SOA 中的主要技术错误[15]: IBM,微软,SAP,Oracle,BEA以及许多其他的厂商都提倡使用他们的SOA基 础设施技术。这一领域未解决的问题是组织应该选择什么样的SOA基础设施以及 需要什么样的组件来构建他们自己的SOA基础设施? 一个组织如何测试基础设施 能够提供满足他们要求的级别的安全性,治理和管理?如何处理不同供应商的基 础设施之间的互通性?作为一个组织推进SOA策略将需要使用其内部的服务或外 部组织提供的服务来开发服务和应用程序。不同的开发服务和应用程序的方法如 传统的螺旋发展模型可以以更灵活的方式被使用。还可以使用自上而下的由业务 流程或模型驱动架构驱动的方法,或者自下而上的由现有遗留的系统和组件化遗 留驱动的方法。
在处理服务和应用程序开发中,最主要的担心之一是处理服务的质量和应用 程序服务的质量(依赖于服务使用的QoS)。一个主要的问题是定时服务的开发与 QoS 设计之间的矛盾。如果一组服务必须在一个特定的时间框架中开发,特别是 用更灵活的方法,如何处理服务的QoS(可能持续整个开发过程)。当开发服务和应 用的时候,一个组织会有服务和应用程序不得不满足的特定的 QoS 要求。这些要 求可以指导服务和应用程序的开发,但很少有开发方法可以保证合成服务或应用 程序满足他们的 QoS 需求。为了进行一个项目,从众多服务中开发一个服务或一 个应用程序,需要知道所涉及的工作的规模和大小。一些指导方针,参与确定开 发已经耗费的成本,但是很少有方法做一个完整的范围,大小,成本和工作量的 估计。在这个领域需要更多的方法来确定范围和合理准确的成本和工作量数据, 这有助于帮助组织为他们主要的 SOA 的工作量制定更好的预算和计划。自 2006 年以来,我们一直在研究、开发和测试SOAs性能建模的方法和工具。架构和开发 服务和应用程序的 SOA 考虑性能是至关重要的。一些关于 SOA 性能问题的例子 如下。Web服务的性能(响应时间)通常比裸露的底层功能更糟糕。这是由于和加剧 了 XML的固定费用(如传送,解析,验证,序列化),复合服务的实现(如使用包括 第三方服务和遗留应用程序的服务),服务编排(基础设施和协议),服务调用(如安 全,运输),资源(物理或软件资源,如cpu,线程)和资源模型(例如虚拟化)。最优 的资源配置服务也是困难的,因为资源可能没有被正确分配,对于个人服务的分 布式工作流的高需求可能会由于资源的约束成为瓶颈。消费者对于性能的期望可 能高于实际能提供的。例如,我们已经知道SLA承诺的响应时间不到一秒,而在 实践中的响应时间范围为1到48秒之间。响应时间通常是不可预测的,并随服务 的操作,绑定,参数和载荷的改变而改变。如果调用一个服务的时间是不确定的, 消费者就不能确定调用是成功还是失败(例如,如果副作用是可能的)。
也许最严重的问题是开放服务的可伸缩性——即服务公开暴露。最大数量的 消费者,到达率和分布是不能提前预知的,而且极高的峰值需求可能使一个或多 个服务资源饱和,从而导致增加响应时间,或者更有可能的是,服务不可用是由 于故障或强制访问限制来限制需求(卸载)。例如,开放服务可用于构建第三方混搭 式应用,导致意想不到的消费服务需求的增加和分布。考虑到性能是对于 SOAs 一个众所周知的问题,在考虑性能的情况下架构SOA是至关重要的。要做到这一 点需要能够在开发周期的早期理解体系结构的性能特点和调查选择。为此,我们 开发一种方法和工具来支持 SOA 生命周期的早期性能建模。该工具支持 SOA 概 念方面(服务,工作流和组合服务)的性能建模,并自动将 SOA 模型转换成一个能 模拟SOA组件生产性能指标的模型。我们遇到并有了初步进展的显著的性能建模 问题是在服务编制 (例如工作流和引擎),资源虚拟化(如虚拟服务器)和服务等级协 议(SLA)领域。我们相信,在这些方面的研究是重要的,但到目前为止不完整,我 们依次简要描述每一个研究。
3.3系统架构描述
系统架构是构建计算机软件实践的基础,通常软件系统的架构有两个要素: 一方面系统的架构是一个软件系统从整体到单元的最高层次的划分;另一方 面这个系统本身结构的重要信息是:组成系统的这些元件是如何形成、相互之间 如何发生作用的[16]。
本系统的开发使用的是C/S的Web应用架构,即客户端/服务器(Client/Server), 在客户端/服务器网络中,客户端发出请求,服务器收到请求并建立连接后将数据 信息提供给客户端。服务器和客户端两个应用程序在通信中被涉及,使用 C/S 能 够减轻应用服务器运行数据负荷,减少通信开销,而且大多数的应用软件系统都 是 C/S 形式的两层结构[17]。
数据和应用程序高效性已经成为了一种商业需求,但是在那些支持恢复和高 效数据库的数据的数据库系统中,应用程序还是能由于服务器中断而丢失工作。 当服务器崩溃时,就会丢失不稳定的应用程序的数据会话,这时操作重启需要应 用程序辅助。公共服务器出现故障时会降低应用程序的实用性。我们的 Phoenix odbc[18]系统支持持久性的数据库会话,除了可能的定时方面的考虑,它还可以在 数据库崩溃的时不影响应用程序的运行。这提高了应用程序的可用性,还解决了 应用程序编程需要考虑数据库崩溃的问题oPhoenix ODBC不需要更改数据库系统, 数据库访问路径或者是应用程序,因此他可以被任何应用程序用来访问数据库。 此外,还可以利用各种数据访问协议。在本文中,我们将会描述Phoenix ODBC的 设计过程,还会介绍一种扩展程序去优化响应时间和减少OLTP工作负载的开销。 我们提出了一个使用TPC-C和TPC-H基准测试的性能评价,演示Phoenix ODBC 的额外开销是适度的。
数据和应用程序的高效性越来越成为大小企业的基本需求。Phoenix项目在微 软研究方面的目标是提高应用程序的效率以及极大地较少编程和处理系统故障时 的操作任务,这需要的不不仅仅是简单的提高数据库服务器的可靠性。有一些服 务器故障时不可避免的。我们注重的是提高系统其它部分处理数据库服务器故障 的能力。我们已经建立一个名叫Phoenix ODBC的系统,它能够提供持久的客户端 -服务器的数据库会话,可以在客户端应用程序不知道断开的情况下在服务器崩溃 中运行。这种对于数据库服务器崩溃的屏蔽意味着:
(1) 应用程序不需要采取特别的措施处理服务器故障;
(2) 应用程序不需要经历很长时间的中断(它暂停了,但是并不是停止了), 通常最多几秒钟或者几分钟。这对于以前手工处理那些由于数据库崩溃需要回复 的应用程序来说,是一个巨大的进步,手工可能需要数小时,甚至数天。
数据库系统早已可以用一种稳定的方式处理系统崩溃。事实上,能够让最后 一次提交的数据库事务恢复的技术是很成熟的,效益也是很好的。然而,在处理 应用程序时并不是那么简单,特别是程序员设计应用程序去处理系统崩溃时。不 论哪种形式的应用程序都必须非常严格的控制,就像保持应用无状态或者涉及反 措施或者精心设计的的异常处理,都需要提供一种充分的反应去处理系统崩溃。 在这两种情况中,应用程序员都需要非常清楚系统崩溃是可能的,并且要十分谨 慎的编写程序。大部分的结果是应用程序实际上在服务器崩溃时不能运行。这样 会将负担转移到其他地方,最明显的时导致用户在点对点手动操作去恢复应用到 一个可以接受的状态时有挫败感和操作困难的感受。
应对系统故障,以最大限度减少应用程序终端和避免应用程序的复杂性,是 一种让应用程序鲁棒性更好的办法。为了达到这个目的,我们已经建立了一个系 统,将数据库技术扩展到系统数据入口部分,让我们可以对客户端应用程序掩盖 故障。我们的目标是提高应用程序的高效性和简化应用程序的逻辑。我们设计了 一个来达到这个目的,它负责应用程序在服务器故障的持久性。正是这个系统让 会话状态可以恢复,并且让应用程序可以继续执行。如果一台服务器发生故障, 系统会自动重新连接到数据库,恢复会话状态和继续执行,对客户端掩盖故障。 这种持续的数据库会话组件,称为Phoenix ODBC,它实现并没有专门的数据库技 术支持,并且要求对客户的应用程序或者本地ODBC驱动程序没有任何的更改。
正如在文献[19]中描述的那样,phoenix ODBC的角色是通过从客户端屏蔽数据 库服务器崩溃的方式,尽可能提高成本效益从而提高应用程序的可用性。在本文 中,我们的重点是量化和减少对应用程序响应时间和数据库服务器的吞吐量的影 响。我们报告了实验测量的影响,并介绍了减少对OLTP方式工作量影响的优化。
我们的实验测量了坚持在具有高度复杂性的服务器上进行结果集查询的性能 影响,例如如在TPC-H基准中发现的那样。这种影响是温和的。对于TPC-H的功 率测试的影响是约1%,而进行更新的功能,它是小于0.5%。TPC-H吞吐量测试 的结果是令人鼓舞的,表明对数据库吞吐量的影响是次要的。我们的实验也表明, 一个数据库会话可以在重新计算一个单一的查询所需的一小段时间内恢复,并将 其结果发送到客户端。这些结果证实,它可以透明地提供持续的数据库会话,这 样便可以屏蔽服务器崩溃,而不会影响性能。
在事务处理中高可用性是特别有价值的。交易处理工作负载通常是通过简单 的查询(和更新)产生小的结果集。Phoenix ODBC开销并不大,特别是作为产生 较大的结果的一个部分的成本。然而,即使是很小的成本,也使子查询产生了显 著的百分比差异。当我们测量简单的TPC-C查询产生的小结果时,响应时间比和 服务器开销的间接成本是显著的。这使我们专注小的结果集的处理,这也是phoenix ODBC 主要的开销。我们预计的优化,我们称之为客户端结果集缓存,从根本上 消除OLTP方式的应用程序的开销。从我们的实验评价的结果证实了这一点。
3.3.1 MVC三层架构描述
在C/S架构的基础上应用逻辑的开发使用了 M-V-C三层架构,M(Model), V(view), C(Controller)就是按照 Model、View、Controller 的方式把一个应用程序 输入、处理、输出流程进行分离。MVC三层架构的提出,相比原有架构带来了 3 个优势:
(1)提高了模块和程序的可移植性;
(2)减少了模块间的耦合度,对Framework的依赖减少,提高了业务层代码 的可重用性;
(3)模块和程序的可扩展性增强、可维护性变得容易[20]。
模型(Model) 视图请求或业务处理后用于显示的数据,如Java Bean; 视图(View)――用户交互页面,如JSP。这些应用使得代码的重用率增加、数据 表达减少,使软件变得易修复、可扩展、易维护、易封装,很大程度提高了软件 的灵活性[21]。
1、 表现层: 用于处理用户与系统的交互功能:把系统的信息翻译并显示呈现给用户,把
用户信息解释成领域层或持久层的各种动作。
2、 领域层 用于处理系统所有领域的相关工作,是系统业务逻辑处理的中心层。在有的
文献中也称作“业务逻辑层”。
3、 持久层 用于处理数据的读/写操作(在领域层之后)、与数据库或文件系统的交互等
功能。如图3-1所示为web企业应用架构M-V-C关系图,对于MVC的理解具有 一定的指导意义:
 
图 3-1 表现层、领域层、控制层之间的关系图
 
3.3.2 SSH 框架介绍
本系统 MVC 使用了 SSH (Struts+Spring+Hibernate)框架。通俗来讲,SSH 是 一种网络协议,为通过网络远程访问其他主机时提供安全保密。基本用于计算机 之间的加密登录。从职责上分为表示层、业务逻辑层、数据持久层和域模块层(实 体层)共四层[22]。
由SSH构建系统的基本业务在三层处理情况:在表示层,通过JSP页面进行 响应接受和请求传送的信息交互,接着Struts根据配置文件(struts-config.xml)将 request安排给对应的Action处理,这个request由ActionServlet接收。在业务层, 管理从业务层到表示层的实现,数据处理(DAO)组件完成业务逻辑和业务校验, 并提供事物处理、缓冲等容器组件来提高灵活性,达到不需要彼此也可以直接进 行通信。而在持久层,它依赖于Hibernate的对象关系映射和大部分主流SQL数据 库交互,DAO组件request的数据处理(如删除、存储、更新等),并将处理结果 返回 [23]。
SSH 框架的开发模式,将视图、控制器与模型分离开来,还分离了业务逻辑 层与持久层。也就是说无论前端如何变化,只需改动模型层少许,并且由于不同 层之间耦合度减小,系统开发效率得到提高,对于我们协同合作提供了更多的共 性,保持代码的一致性[24]。
1、Struts 的基本介绍
Struts提供了相应的组件给Controller, Model和View。本系统使用的是Struts2。
Struts2是基于Web Work技术的框架,采用拦截器的机制来处理用户的请求, 最后根据struts.xml中的配置将对应结果result,返回给客户端,这样的设计 也使得业务逻辑控制器能够与Servlet API完全分离,Struts 2是Sun公司和 Web Work公司一起开发的一款功能非常齐全的框架[25],如图3-2所示为Struts 的工作原理如下:
 
图3-2为Struts工作原理
2、Spring 的基本介绍
Spring提供的一个Web框架,Spring IOC是Spring的关键点,图3-3是Spring IOC的工作图,建立在以IOC (控制反转)为核心的基础上,Spring的基本处理流 程,一旦收到request,分发器DispatcherServlet (前端控制器)就把request分发 到继承Controller的实现类,Controller处理完请求后,通过ModeAndView进行视 图的转发,返回给分发器 DispatcherServlet。
 
图 3-3 Spring IOC 容器
 
Spring bean 是那些组成应用程序的主体及由 Spring IOC 容器所管理的对象的 统称,由 Spring 容器寻找 Bean 的对应信息对其进行初始化、装配及管理,每一个 Bean 对应一个实例,并通过配置元来描述 bean 定义和所有属性,使用依赖注入, 又叫属性注入。Spring最常用应用系统配置源是XmlBeanFactory,可以选择手动 或自动设置 [26]。处理 bean 依赖关系通常按以下步骤进行:
Spring 的 Singleton 作用域是非常重要的一个概念,当一个 Bean 的作用域为 Singleton,那么Spring loc容器中会存在一个共享的bean实例,并且所有对bean 的请求,只要 id 与该 Bean 定义匹配,则只会返回 bean 的同一个实例,所有随后 的请求和应用将返回到缓存对象实例[27]。
3、Hibernate 的基本介绍
Hibernate 是开源的一个 Object Relation Mapping Framework (对象关系)映射, 即对面向Java环境的对象和关系型数据库之间做一个映射,就不需要跟SQL打交 道,简化了一些数据库的底层操作,提供了一些抽象程度更高的操作和方法,提 高了开发效率。更加对象化,我们只需要以操作对象的方式操作即可,Hibernate 和 Spring 一样,从表格式的表现形式转换到一系列的对象中去的结果集,同样需 要配置,要有持久化类和它的映射文件,利用 Hibernate 开发,我们所要做的就是 创建POJO类,配置映射关系,创建配置文件,然后调用Hibernate的API对数据
进行的操作曲,如图3-4所示为hibernate配置文件它主要配置数据的链接和用户 名以及连接密码,如图3-5所示为将数据库表映射到java对象中的过程,如图3-6 所示为数据库映射文件,配置了该文件java对象才能知道数据库中字段的类型长 度等信息。
 
图3-4 Hibernate.cfg.xml 文件
 
 
图 3-5 Java 对象映射到关系数据库中的过程[29]
 
 
图3-6 Hibernate映射文件
3.4软件结构描述
有两个因素影响了我们提供持久性数据库会话的战略。第一,我们希望利用 现有的数据库系统的功能去坚持会话,在服务器故障的时候能自动恢复数据库会 话。第二,我们通过无缝集成数据库会话机制到正式的 ODBC 数据访问交互来保 持透明度,而不需要改变数据库、应用程序或者本地ODBC驱动程序。
Phoenix ODBC是一个供应商提供的包装ODBC驱动程序。在微软客户端中, Phoenix ODBC 是被集成到 ODBC 驱动程序管理器中[30]。驱动程序管理客户端应 用程序和各种各样的商业 ODBC 之间的通信。应用程序请求先被发送到驱动程序 管理器,然后发送到本地 ODBC 驱动。
增强型的Phoenix ODBC驱动程序管理器调用数据库厂商提供的ODBC驱动 程序的应答点,使用的是跟原驱动程序管理器相同的方式。它创建了 ODBC API 功能的替代品。所有的 ODBC 命令和数据库回复是相互联系并且合理通信的。 Phoenix ODBC执行三个主要功能提供持久的数据库会话。为了使本文有说服力, 我们在下面的小节中概括的展示每个功能。补充设计细节可以在前面的章节看到。
Phoenix ODBC必须采取的分析应用程序请求,并且提供持久性的不会定会话 状态的措施之前,需要phoenix将请求传递到本地的驱动程序。这种方法提供的能 在系统崩溃下继续运行的会话对于其他系统的组成部分是完全透明的。它不需要 改变本地ODBC驱动,客户端程序或者SQL数据库系统。我们讲会话状态分解成 单独的元素,这些元素有不同的生存时间和我们可以利用的恢复要求。会话状态 包括:
会话背景:客户端指定的属性,包括连接请求、用户登录信息以及默认数据 库设置。数据库的具体信息,比如用户、实时数据、临时对象(表、过程)以及 由服务器发送到客户端的信息。
(1) SQL语句的执行结果:一个SQL语句将会返回一个或者多个下列数据: 一个 select 语句的结果集
SQL语句外部引起的全局游标
一般是整数值的返回码
返回的SQL更新信息
输出参数,数据或者游标变量
(2) 数据库程序:存储在数据库服务器上,由一个或者多个预编译的 SQL 语句组成。
(3) SQL命令批处理:一个或者多个SQL语句有着相同的效果。
虽然对于每个元素的会话状态会有细微的差别,但是处理SQL的结果特别和
这篇论文相关,所以我们将会描述他们如何在细节处处理的。
结果集
Phoenix ODBC 使结果集有持久性[31],并且保证无缝传递到客户端应用程序 中。一个结果可以通过被存储为一个持久表而持续存在。无缝结果传输的保证是 通过一次故障后再次访问这个表,重新定位到传送终端的地方来实现的。当phoenix ODBC 拦截了一个应用的请求,它执行一个一步解析发去决定请求的类型。如果 这个请求是一个SQL语句生成的结果集,它就会按照下面的步骤去保证结果集会 在服务器故障的情况下恢复。
(1)phoenix决定了结果集的结构,即名称的属性、类型和出现的顺序。 Phoenix ODBC通过附加语句” WHERE 0=1”到原SQL语句中取得该元数据与单 个服务器请求。它通过本地 ODBC 驱动来发送这个修改后的查询到服务器。这个 “招数”保证该查询不会被执行,并且没有结果数据返回。只有查询编译在服务 器上执行并且仅有元数据才会返回答复。
(2)创建一个表保存由SQL语句得到的结果。Phoenix ODBC从应答中读 取元数据,然后构建一个CREATE TABLE语句,最后把语句发送到数据库在服务 器上创建一个空表。此表是一个特殊的 phoenix 数据的一部分,并不是一个临时的 表格。
(3)结果集被储存在服务器中的持久性表格中。什么被物化取决于SQL语 句和应用程序如何在服务器中请求结果集。在ODBC中,如何做是由之前执行的 SELECT 语句制定的选项决定的。我们这里只描述默认的结果集。
数据库服务器将立即发送所有行的默认结果,并且客户端应用程序直到所有 的读操作执行完毕都需要缓冲。于此相反的是Phoenix ODBC发送给服务器一个请 求去执行原语句,并且在步骤 2 中将结果存储在永久性表格中。它通过穿件一下 存储过程来做到这一点,即使用ANSI标准的SQL:
CREATE PROCEDURE P (@T string) AS
INSERT
<original SQL statement>
INTO Tname
存储过程涉及到从客户端到服务器的往返消息,这意味着数据的移动是在本 地进行的,而不是先发送给客户端。一旦服务器返回了一个应答就表示过程已经 完成,结果集将不会受故障影响。
(4)结果集将会无缝的传输给客户端应用程序。Phoenix将会决定语句 SELECT FROM TNAME打开表格并且在正常的过程中返回控制应用程序。如图2 所示,为了确保无缝交付结果集,phoenix将跟踪实时结果在永久结果集中的位置。 如果发生故障,数据库会恢复机制将会保证结果集在出现故障时存在。 Phoenix ODBC 会将结果集恢复在故障发生之前最后一次访问的位置。
SQL 允许结果以其他方式返回,比如应用程序可以通过使用游标来控制结果 交付。我们将会在下面第五部分描述phoenix ODBC是如何持续光标,如何描述数 据修改语句、临时对象和数据库中返回的消息。
有两个会话概念我们需要区分。应用程序有一个 ODBC 会话与它进行交互。
ODBC 代表应用程序建立连接(数据库会话)并访问数据库系统。当一台服务器 崩溃时,数据库会话可能不会在崩溃中支撑下去。服务器故障也可能会损坏甚至 导致客户端应用程序ODBC会话终止。
3.5本章小结
本章主要介绍了广电发射传输中心信息管理系统开发的概要设计:整体架构、 系统的软硬件运行环境,详细介绍了 MVC架构、SSH框架。
第四章 广电发射传输中心信息管理系统的需求分析
根据多年在广电发射传输中心工作经验,广电发射传输中心信息管理系统是 一个确保广播电视无线发射传输安全播出为宗旨的信息管理系统,通过该平台可 以实现对播出状态、日常维护、应急处理进行监管、查询等功能,从而进行有效 管理。
4.1系统需求分析
4.1.1用户需求分析
经分析,系统至少需要两种用户角色:系统管理员和普通用户。各自权限如 下:
1、 系统管理员:整个系统管理工作由系统管理员负责,不仅具有对各个模块 的增、删、改、查的权限,也具有对普通用户管理的权限。
2、 普通用户:除管理员外,成功登录本系统的其他用户。普通用户也具有对 各个模块的增、删、改、查的权限,不具备用户管理、系统设置权限。
两种用户均须成功登录,方可具有权限使用该系统。
4.1.2系统功能需求
为了准确地确定目标系统必须做什么,在认真熟悉广电发射传输中心的业务 流程后,得出了系统的功能组织结构图,如图 4-1 和图 4-2 所示。其中系统的信息 管理具有三个子模块:播出记录管理、技术资料管理、维护记录管理、专业训练 管理、器材管理。
 
图 4-1 系统功能图
 
 
 
图4-2 系统整体流程图
表 4-1 信息管理系统模块划分表
子模块 中文名称 业务职能
用户操作 登陆 用户输入用户名,密码和验证码系统正确的处理判断,如果输入信息 正确,系统进入相应管理界面,如果错误则提示错误信息。
修改信息 修改用户自己的密码。
用户管理 添加、删除、修改操作员,包括用户名、密码、姓名、职务等基本的 信息资料。
系统配置 系统设置 设置系统服务器IP地址或域名、设置外围器件连接信息,并保存相 关系统设置,系统启动后默认导入上次系统设置。
日志查看 系统运行过程中重要事件和错误记录日志,包括用户登陆、重要操作 记录、系统异常信息记录等。
信息管理 播出记录 增加、修改、查询、浏览每日设备工作数据,是对播出情况进行记录 管理的模块。
技术资料 对设备资料、技术方案等进行记载存档,可增加、删除、查询、浏览。
维护记录 检修维护是对设备检修信息进行细致管理,将检修信息上传之后快速 查找。督促执行情况。
专业训练 专业训练主要是对广电发射传输中心业务操作的方案,上传到系统中 进行快速查找。监督执行情况。
器材管理 该模块主要是对广电发射传输中心各种器材的入库和出库记录的录 入和查看。把查询获得的数据导出到外部文件,以Excel文件等形式。
 
 
1、播出记录需求
播出记录管理是指对广电发射传输中心的各年播出情况、事故记录进行管理 如图 4-3 所示。
 
图 4-3 播出情况模块功能图
 
2、技术资料需求 技术资料包括增加、删除、查询、浏览四个功能,该模块是针对固定设备功 能说明、技术创新应用说明,如图 4-4所示。
 
图 4-4 技术资料模块功能图
 
3、维护记录模块 检修维护管理是指对广电发射传输中心的备检修信息进行细致管理,将检修信 息上传之后快速查找。督促执行情况,如图 4-5 所示。
 
图 4-5 维护记录模块功能图
 
4、专业训练模块 专业训练管理是指对广电发射传输中心的训练计划、理论学习、应急演练 专业考核进行管理,如图 4-6 所示。
专业训练
 
 
 
增加
删除 浏览
 
 
 
 
图 4-6 专业训练模块功能图
 
 
 
4.2系统非功能性需求
本系统的非功能性需求从系统的安全性着手的。
1、系统建立了权限的区分,不同的角色的权限不同,从而划分了他们的不同 功能,不同的角色具有不同的功能操作,从而限制系统的信息安全。
2、建立的日志文件,系统可以通过日志文件监控系统的操作,它主要记录了 用户及管理员对系统数据的操作。日志文件会记录系统对数据库表做的增删改查, 以及对那张表进行了操作,从而能够保证系统在发生异常情况的时候,我们可以 根据日志文件查看发生异常时刻的情况。
4.3本章小结
本章主要介绍了广电发射传输中心信息管理系统的需求,包括用户需求、系
统功能需求和非功能需求,辅以功能图展示了各功能模块实现需求,得出开发该
系统是必要的,也是可行的。同时也为下一章的整体系统功能设计提供了设计分 析依据。
第五章 广电发射传输中心信息管理系统的详细设计
系统的详细设计是对系统的界面展示、各个模块如何实现,系统的数据库如 何设计进行研究。
5.1界面构思 对于一个系统而言,系统的外观经常是最先被注意到的,因此系统的第一印 象有赖于系统的界面是否友好与吸引人。所以对设计人员来说,界面设计至关重 要。
界面设计有以下几点原则:
1、 洞察用户的心理状态: 了解客户喜好和操作习惯,有助于网页页面的设计被用户认可。
2、 3C 原则:
简洁(concise)、一致性(consistent)、对比度 (contrast)。
3、 统一的整体形象:
当 Web 网站标识以及网页设计方案确定好后,就不要轻易更改确保同意,用 户才不会产生混乱,留下统一的深刻形象。
4、 内容与形式的统一:
内容包括 Web 的基本信息(菜单、数据显示等),形式包括了网页设计的构 图(包括颜色、位置坐标等)。网页的形式单方面来讲是具有艺术规律的,但是 又是为内容服务,所以不能为了艺术体现而忽略实用性、宣传性,总的说来 Web 设计的目的就是根据用户基本情况来设计更加形象、直观,更符合用户的网页界 面。
本系统的用户要求界面大气、沉稳,简洁易操作。另外,普通用户在使用该 系统时,是在触屏机上操作的,因此界面要够立体化,可以通过使用Photoshop制 作按钮来达到这一效果。同时,还要兼顾管理员在普通电脑上的操作,因此界面 既要有立体化的效果,又要方便在普通电脑上操作。下面从界面布局、色彩、按 钮三个方面来阐述本系统界面的构思。
1、界面布局:
Web 设计中,整体布局应尽量风格清晰一致,方便客户阅读识别。优秀的作 品总是用一些小技巧使语言视觉化,色彩简洁,重点突出。鉴于用户在触屏机上 操作,为使页面结构清晰,提高其可操作性,整体布局不同于我们平时常用的 
“同”字、“国”字、“川”字形等其他布局方式,而是采取了简单明了的原则, 尽量减少不必要的内容,整体布局图如5-1 所示,顶部为标题,屏幕中间显示具体 的内容,其中左侧为菜单,右侧显示内容,为方便使用,左侧菜单栏是可隐藏的 (隐藏后如图 5-2 所示),底部为返回上一页、返回主页按钮。这样布局的好处是 结构清晰、简洁明了,用户易操作。
Web标题 Web标题
菜单栏 主体内容 主体内容
返回上一页、返回主页 返回上一页、返回主页
图 5-1 整体布局图 图 5-2 左侧菜单栏隐藏后的布局图
 
2、界面色彩:
颜色元素在网站的感知和展示上扮演着重要的角色。不同的色彩搭配产生不 同的效果,并可能影响到访问者的情绪。由于该系统是军队企业使用,色彩搭配 上应该尽量简单,避免色彩过于艳丽。目前国内多数网站色彩基调以蓝色为主, 例如,腾讯、天涯、优酷等,而且在触摸屏上使用的系统也经常使用蓝色调,如 移动自动缴费机终端。而且蓝色是一个和天空、海洋相联系的自然色,给人以稳 定、信任、能量的感觉,很适合军队企业网站,因此本系统的主体色调以蓝色为 基准。
3、界面按钮:
按钮是每一个网站的必要组件,通过按钮来导航,可以方便用户进行操作。 同时,通过选择合适的按钮,可以和页面一起达到一个很好的视觉效果。即使用 户仅仅瞥一眼,所选择的按钮及他们在界面中所放置的位置也能带来一个清晰的 信息,易于查看和导航,是网站完善的标志。为了满足用户对界面立体化的需求,
我们用PS软件制作了一些按钮,使界面更具立体感。同时,按钮都使用蓝色系,
这样使得整个网站色调统一,简单干净。
 
5.2系统总体构架设计
通过对相关的文献进行分析,并结合软件开发的相关理论的基础上,本系统 的开发采用 C/S 结构,包含用户管理、播出记录管理、技术资料管理、器材管理、 系统配置等功能。运用主流的软件开发模式,设计和实现了发射传输中心信息管 理系统。系统物理结构图如图 5-3 所示。
 
Windows XP运行平台
图5-3 系统总体架构图
5.3系统各层构架设计
信息管理系统由三个层组成,分别为WEB表示层、业务逻辑层和数据适配层, 如图 5-4 所示。
5.3.1 WEB 表示层设计
UI层主要包含四个大的功能模块,包括用户操作、系统管理、和帮助。UI层
整体结构图如图 5-5 所示。
1、用户操作 面对领导、管理人员、操作人员,采取门户中间件设置信息门户,提供统一 的多渠道的访问信息门户。该系统的建设过程中,考虑到系统的部分使用者是通 过公用的网络来对系统进行访问,所以本系统格外注意数据以及访问的安全[21], 主要的功能包括:
(1)用户登录界面统一
本系统所有用户都是从统一的登录界面进入系统,便于用户熟练使用本系统。
 
图 5-4 系统体系结构图
 
 
 
图 5-5 UI 层整体结构图
(2) 用户个性化应用界面 本系统还设置了个性化的功能,不同的用户可以自行设定界面的风格以及业
务,以满足用户个性化的需求。
(3) 信息集成 本系统将不同的业务及数据信息集成到一个统一的显示界面,便于用户进行
交互操作。
(4)用户档案统一
本系统使用混合的身份认证体系,用户只需要使用以套身份信息就可以实现 在不同的应用程序之间的访问,系统会自行处理和识别来自不同应用程序的不同 身份的用户。
2、 信息管理
在操作员登陆系统后,选择信息管理菜单栏下的二级菜单播出记录管理、技 术资料管理、维护记录、专业训练和器材管理进行操作。
3、 系统管理
系统管理菜单栏包括系统设置二级菜单栏;日志查看二级菜单栏(日志栏)。 实现系统的基本参数信息、网络管理和日志查看功能。
4、 帮助
帮助菜单栏包括关于系统二级菜单栏,其功能实现信息管理系统的基本说明、 操作指引。
5.3.2业务逻辑层设计
业务逻辑层针对表示层提交的请求,进行逻辑处理,如果需要访问数据库,就 调用数据适配层的操作,对数据库进行操作。在业务逻辑层中,向用户提供管理 业务和库存业务的请求处理。管理业务包括用户的管理,升级以及授权的管理; 器材管理包括出入库管理和库存管理操作,将器材管理操作统一封装在一个类中, 向上层应用提供的调用接口是统一。业务逻辑层的结构图如图 5-6 所示:
1、 用户管理 主要包含用户登录、退出,用户的添加,修改,删除,查询等主要功能。
2、 信息管理
封装在Storage Core接口中,由Storage Core接口管理整信息,由Storage In Out Manage 类提供调用接口给上层应用。数据库操作部分会调用数据库操作接口 DBAdapter。
 
5.3.3数据适配层设计
数据适配层主要完成向业务逻辑层提供与后台数据库、本地日记(配置)文件。
包括数据库相关操作、日志文件的操作、配置文件的操作和数据的 MD5 加密操作。
 
 
1、数据库
数据库系统,存储有系统信息、审计信息和日志信息,操作的内容。数据库 类型为针对客户的数据库。
2、MD5 加密
Unix、数字签名和各类BSD系统登陆密码认证通常都采用的MD5加密。该 方式可以避免用户的密码被具有系统管理员权限的用户知晓。
3、日记记录
主要保存系统的日志信息,用户可以便捷、灵活的管理这些日志文件。
4、配置文件操作
主要是向上层应用提供配置文件各项信息的读取和修改。
作为广电发射传输中心信息管理系统的门户,系统采用了统一的用户、权限、 等技术来保证其安全。
5.4 系统数据库设计
5.4.1 数据库 E-R 图
根据广电发射传输中心信息管理系统需求,设计出如图 5-8 所示的实体-关系
模型(E-R)图。
 
 
图5-8 广电发射传输中心信息管理系统 E-R 图
 
5.4.2数据库表设计
数据库的逻辑设计,即把设计得到的概念数据库模式变为逻辑数据模式,它 依赖于DBMS。根据广电发射传输中心信息管理系统的需求分析及数据库的设计, 先建立数据库为 system_db, 建库语句:Create database information system_db; 部 分设计表结构,如下表所示:
1、用户信息表,主要是存放用户的基本信息,如表5-1所示:
表5-1用户信息表(usertbl)
列名 数据类型 是否允许为空 说明
UID varchar(100) 主键
name varchar(50) 用户名
department varchar(50) 部门
password varchar(50) 密码
director varchar(50) 职务
permission int(11) 权限(用户,管理员)
remark varchar (2000) 备注
 
 
2、技术资料信息表,主要是存放文档资料,如表 5-2 所示:
表 5-2 技术资料信息表 (goodstbl)
列名 数据类型 是否允许为空 说明
name varchar(50) 标题
date varchar(50) 日期
contentId int(11) 正文ID
Photo varchar (1000) 图片
 
3、播出记录信息表,主要存放日常巡检发射机的参数信息,如表 5-3 所示:
表 5-3 播出记录信息表( recordtbl )
列名 数据类型 是否允许为空 说明
Time varchar( 100) 记录时间
userId int( 11 ) 频率
Pt int( 11 ) 发射功率
Pr int( 11 ) 反射功率
U int( 11 ) 电压(I、II、III)
I int(11) 电流(I、II、III)
 
4、维护记录信息表,主要是日常维护检修内容记载,如表 5-4 所示:
表 5-4 维护记录信息表 (repairstbl)
列名 数据类型 是否允许为空 说明
name varchar( 50) 名称
contentId int( 11 ) 正文ID
officer varchar( 50) 维护人员
date varchar(50) 日期
 
5、专业训练信息表,主要是专业训练教案和训练基本执行情况,如表5-5 所
示:
表 5-5 专业训练信息表 (coursetbl)
列名 数据类型 是否允许为空 说明
Title varchar( 200) 题目
Time varchar(50) 课时
Leader varchar(50) 讲师
date varchar(50) 时间
contentId int (11) 正文ID
6、器材信息表,主要存放备品、工具的数量及使用情况,如表5-6所示:
表5-6器材信息表(goodstbl)
列名 数据类型 是否允许为空 说明
Product model varchar(50) 型号
typeId int(11) 类型
name varchar(50) 名称
num int(11) 数量
date varchar(50) 时间
State varchar (1000) 状态
 
5.4.3连接数据库设计 连接数据库时,首先通过数据库连接字符串(需要从配置文件中获取)连接数据 库。连接字符串需要这些内容:数据库Date Source (域名),数据库名称,数据 库UserID和Password□数据库连接字符串可以在系统界面进行配置。数据库连接 字符串在配置文件的格式如下所示。
<appSettings>
<add key= 〞 SQL_ConnectStringvalue= 〞 Data Source=172.168.1.120;Initial
Catalog=PTCBT;User ID=hs;Password=hs〞/>
<add key=〞CachedDBFile〞 value=CachedDB.data〞/>
5.5本章小结
本章任务主要是广电发射传输中心信息管理系统的总体功能、总体架构设计,
并分析讨论系统的WEB表示层、业务处理层、数据访问层3层架构设计和数据库 的功能设计。通过系统总体功能和架构设计研究,为下一章的广电发射传输中心 信息管理系统的具体实现提供了设计分析依据。
第六章 广电发射传输中心信息管理系统实现
本章主要介绍广电发射传输中心信息管理系统模块的具体实现过程,实现的 主界面图及相关关键代码。
6.1系统的开发环境
本系统设计采用Struts,Spring,Hibernate三种开源框架,J2EE架构、MySQL 数据库,按实现流程进行模块划分。从系统的升级和维护方面考虑,在设计开发 过程中,经过分析比较选择了较为简单的Tomcat6.0服务器。以下是系统的开发环 境:
开发工具:MyEclipse &5
数据库: MySQL Server 5.5
服务器软件: Apache-tomcat-6.0.14
JDK 版本: JDK Version1.6.0.07
操作系统: Windows Server2003
开发框架:Struts2+Spring+Hibernate
6.2系统模块的实现
6.2.1登陆功能的实现 登陆功能实现用户登陆系统时,数据库对用户输入的用户名和密码的进行检测 验证,判断是否允许用户进入到主系统界面。如图 6-1 所示,普通用户和管理员登 陆流程图。系统登陆界面如图6-2所示。
点击“登陆”登陆系统,出现当天播出情况的主界面如 6-3所示,关闭页面, 可直接退出。
关于登陆的代码,都比较通用,此处引用一小段: if(message.get(name).equals(password))〃 密码正确
{
JOptionPane.showMessageDialog(Login.this, "登陆成功!");
System.exit(0);
Else
num--;
 
图6-1 用户登陆流程图
 
 
 
■ —丄 _ . r _ - —— 一——
 
 
 
 
 
图 6-3 主界面
 
6.2.2用户操作模块的实现
用户操作,针对普通用户来讲是个人密码修改,针对管理员来说,还有增加 删除、修改普通用户的权限。其流程图如图 6-4 所示。
修改信息
输入修改的
信息内容
点击“修改”
 
修改成功
点击按钮“用户操作”选择下拉菜单“修改信息”,如图 6-5 所示。
 
图 6-5 用户操作的下拉菜单界面
 
修改信息完成后,点击“修改”,等系统确认修改成功,可继续选择其他功 能操作,修改信息界面如图 6-6 所示。
 
「展勒碰_ 系统配鳖 信总育理 帮助
 
 
修改 取消
 
修改信,
 
选择“用户管理”进入如图 6-7 和图6-8所示,用户管理是指具有权限的管理 人员对一般的操作人员信息进行管理。
 
 
 
图 6-8 用户管理界面
用户新增关键代码,如下:
@Override
public SysUserVo create(SysUserVo vo){
// 判断账号是否重复
if (userRep.countUsername(vo.getUserName()) >= 1) {
/*
*当count== 1时,判断更改的是否为update数据
*/
List<SysUser> listusers = userRep.findUserByUsername(vo .getUserName());
for (SysUser user : listusers) {
if (!user.getId().equals(vo.getId())) {
throw new DzrqException(Code.E_SYS_004);
}
}
}
if (vo.getType() != null && vo.getType().equals(2)) { vo.setStatus(Constant.ACCOUNT_START); vo.setEditDefPasable(false); vo.setPassword(MD5Helper.getMD5OfString(vo.getPassword()));
}
if (vo.getId() == null) { vo.setStatus(Constant.ACCOUNT_STOP);
// 新增用户 logService.addLog(SysLogType.XTGL_YHQX_01_OPER_CREATEUSER,this.g etHostip(), new String[] { vo.getUserName() });
}
return super.save(vo);
}
6.2.3系统管理模块的实现
点击“系统配置”,如图 6-9 所示,进入“系统设置”进行 IP 地址、设置服 务器 IP 地址或域名、设置外围器件连接信息,并保存相关系统设置,系统启动后
默认导入上次系统设置。
点击“系统配置”,进入“日志查看”,主要记载系统运行过程中重要事件和
错误记录日志,包括用户登陆、重要操作记录、系统异常信息记录等。如图 6-10
和图 6-11 所示。
系统设置
填写/修改的
信息内容
点击“保存”
 
保存新的配置信息
 
图6-9 系统设置流程图
 
图 6-10 日志查看流程图
 
图6-11 系统配置的菜单界面
 
关于日志实现的关键代码:
private String id;
private String hostip;// 主机IP
private String subsystem;// 子系统名称(一级菜单)
private String menuname;// 菜单名称
private String desc;// 操作内容
private Integer logType;// 日志类型(1:系统日志,2:登录日志)
private String dataEntity;// 数据表
private String dataId;// 数据ID
private String operation;//操 作类型
private Integer loginStatus;//登录日志状态(1:在线,2:退出,3:超时强退) private Date loginTime;// 登录时间
private Date loginOutTime;// 退出时间
6.2.4播出记录模块的实现 信息管理模块分别有播出记录管理、技术资料管理和器材管理三个二级菜单 点击信息管理出现这三个菜单的下拉框。
 
播出记录是无线发射的日常记录,是相关的工作人员接触最多的菜单,播出
记录包括:增加、修改、查询、在线浏览等功能,如图 6-12 和图 6-13 所示。
 
 
 
图 6-13 播出记录模块界面
我们在JSP页面中设置一个input,在其中输入年份,然后在input的button 标签中添加点击事件,输入年份点击“查询”是就会调用 JavaScript 中的 searchchart( "getmonthchart”)方法,同时将调用的方法中的参数Action传递到 JavaScript中,然后用Ajax将数据调用到前台,并且将year通过$(“year”).val调用 到了 JavaScript 中,它通过 jQuery 将 input 中的数据进行获取,然后通过 Ajax 将 year传到后台进行数据查询,在将数据返回。查询播出记录实现的关键代码: <div>
按年份查询
<input type="text" id="year" name="year" class="Wdate" onfocus="WdatePicker({dateFmt:'yyyy',alwaysUseStartDate:true})" name="data" style="width:172px; "/>
<input type= "button" value="查询"class= nsearch_btn " onclick="searchchart('getmonthchart')" />
</div >
通过SSH框架在Action中的得到的值无法直接被前台使用,所以我们将数据转 换为JSON对象传递到前台,其次在action中的要将这个JSON对象进行保存,在 action中result的type要为json,并且param应该为recordObj, recordObj存储了查到的 数据[9],有一点值得关注,如果没有修改它,就无法在前台使用recordObj中的数据, 一般struts中的package中extends为struts-default,但是如果使用了JSON对象,就要 将extends改为json-default。查询每月记录的后台代码:
/ double sumTime = 0.00;
for (int j = 0; j < brs.size(); j++) {
sumTime += brs.get(j).getTime();
}
double monthTarget=broadcast_RecordsService.inmonthtarget(year, String.valueOf(i+1));
target[i]=((monthTarget-sumTime)/monthTarget)*100; //查询到的数据 }
this.recordObj.put("result", "success");//成 功返回 success this.recordObj.put("target",target);
return "success";
} catch (Exception ex) {
ex.printStackTrace();
}
this.recordObj.put("result", "error");
return "error";// 错误返回 e rror
}
将数据成功传递到前台之后,这个数据不能被 kendo 直接使用,首先我们要 分析 kendo chart 的数据类型和格式,通过测试得到一个 kendo 数据中是两个 object, kendo 使用的静态数据的数据构造格式代码:
var seriesData=[{record:"100.00",month:"1"}, //kendo bar chart 的数据
{record:"100.00",month:"1"}, 结构
{record:"100.00",month:"1"}]
6.2.5技术资料模块的实现
技术资料是为了让工作人员对设备及信号系统有一个更好的了解,便于日常 管理学习。在安全播出时,如遇到信号系统故障时,能较为准确的推断出事故原 因,并对此有一个规范的处理措施,如图 6-14 所示。
 
 
在信息管理下拉菜单中,选择技术资料进入,如图 6-15 所示。
 
 
图6-15 技术资料界面
我们可以选择其中一个文献标题,双击进行在线阅读,如图6-16 所示。继续
阅读,点击“下一页
图 6-16 在线阅读技术资料界面
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Word文档上传,首先使用OpenOffice将Word文档转换为PDF文档,然后使 用pdf2swf将PDF文档转换为SWF文档,最后,再使用FlexPaper来浏览SWF文 档。
为完成文档类型之间的转换,服务器端需要安装OpenOffice和pdf2swf这两 个软件。且项目运行时需要启动OpenOffice服务,以OpenOffice安装在C:\Program Files 目录下为例,在系统命令窗口执行以下命令:
cd C:\Program Files\OpenOffice.org 3\program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
启动 8100 端口的 OpenOffice 服务。
将Word文档转为SWF文档的关键代码为:
1)首先,创建同名但文件后缀名不同的三个文档:
String docFilename= fileName + ".doc";//doc 名称
String pdfFilename= fileName + ".pdf";//pdf名称
String swfFilename= fileName + ".swf";//swf名称 sourceFile = new File(realPath,docFilename); //WORD 文档 pdfFile = new File(realPath,pdfFilename); //PD F 文档 swfFile = new File(realPath,swfFilename); //SWF 文档
2)然后,将 Word 文档转为 PDF 文档:
//若WORD文档存在则进行转换
if(sourceFile.exists())
{
〃创建连接,以便使用OpenOffice软件
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
DocumentConverter converter = new
OpenOfficeDocumentConverter(connection);
converter.convert(sourceFile, pdfFile); //开始转换 pdfFile.createNewFile();
connection.disconnect();〃 断开连接
〃若Openoffice软件没启动,会抛出异常,不能完成转换
catch (java.net.ConnectException e) {
e.printStackTrace();
throw e;
}
}
3)最后,将 PDF 文档转为 SWF 文档:
〃若PD F文档存在则进行转换
if(pdfFile.exists())
{
try {
〃使用安装好的pdf2swf软件将PDF文档转换为SWF文档
Process p = r.exec("D:/Program Files/SWFTools/pdf2swf.exe " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9"); swfFile.createNewFile();
if(pdfFile.exists()) {
pdfFile.delete();
}//将中间文件PDF文件删除,节约空间
}
}
把以上代码封装在 Action 层底下的 ConvertToSWF 类中的 convert 方法里, 然后其他 Action 只要通过创建一个 ConvertToSWF 类的实例,并传入文件名和文 件路径两个参数调用其convert方法,就可实现从Word文档到SWF文档的转换。
WORD 文档到 SWF 文档的转换必须放在本地机的硬盘上进行,然后从本地机 的硬盘上复制一份转换好的 SWF 文档,存放到当前服务器的目录下。以下为
PaperAction的addPaper()方法的核心代码。
ConvertToSWF c = new ConvertToSWF(); //创建一个新的
C onvertT o SWF的实例对象
String realPath = "D:/upload/QPaper"; //本地电脑磁盘下的目录
〃当前服务器下的Qpaper目录
String realPaths = ServletActionContext.getServletContext().getRealPath("/QPaper");
//如果文件目录不存在,则创建目录
if(!new File(realPath).exists()){new File(realPath).mkdirs();}
if(!new File(realPaths).exists()){new File(realPaths).mkdirs();}
c. convert(realPath, pa.getName()); //将 WORD 格式文档转换为
SWF格式文档
String Filename=pa.getName()+".swf";
File File1=new File(realPath,Filename);
File File2=new File(realPaths,Filename);
copy(File1,File2); //将保存在本地机上的D:/upload/Qpaper 目录下的SWF文档
复制一份,保存到当前服务器下的Qpaper目录下
pa.setPaperAddr(realPaths); //设置该条记录的文件路径
pa.setName(Filename); //设置该条记录的文件名
paperService.addPaper(pa); //添加这条记录
在JSP页面显示SWF文件时,只需在页面中引入flexpaper_flash.js,并使用 FlexPaperViewer来浏览SWF文件,即可完成该功能。以下为paper.j sp页面使用 FlexPaper来浏览SWF文件的核心代码,参数C${ctx}/QPaper/<%=(String)session .getAttribute("fileName")%>?num='+<%=randomNum%>)用 来传递 SWF文件 的路径 及文件名,并传递了一个随机参数,传递随机参数的目的是为了解决缓存读取的 问题。若没有这个参数,用户在删除一条技术资料记录,并重新上传一个名称相 同的技术资料后,虽然新上传的技术资料已经覆盖了服务器上的旧技术资料,但 在浏览器端用户看到的仍然是旧的技术资料,这是因为两次传递的参数一样,浏 览器会直接从缓存中读取文件,而不是服务器。在加入一个随机数参数后,两次 传递的参数不一样,故浏览器会重新从服务器端读取文件。
〃使用 FlexPaperViewer 浏览 swf文 件
var fp = new FlexPaperViewer(
'FlexPaperViewer',
'viewerPlaceHolder', { config : {
SwfFile :escape('${ctx}/QPaper/<%=(String)session.getAttribute("fileName")%>?num ='+<%=randomNum%>)}}); 〃传递swf文件名以及一个随机参数
6.2.6维护记录模块的实现
设备在日常使用过程中,在长时间工作、磨损、腐蚀等因素的作用下,功能 与精确度逐渐降低。为了充分发挥设备的效能,延长设备使用寿命,要对设备进 行科学的维护及检修,确保安全播出。所以设备的检修维护在这个安全播出工作
中显得尤为重要。设备的维护记录包括了:增加、删除、查询,如图 6-18 所示 其界面图如图 6-19 所示。
 
图 6-18 维护记录流程图
 
 
 
图 6-19 维护记录界面图
 
该系统实现每个功能中有增加、删除、查询、浏览的功能属性实现,有个别
不尽相同,但它们的属性名和属性类型差不多都是一样的。我们可以用对象属性
拷贝进行转换,更为便捷的实现,其关键代码如下:
/**
*@Title copyPropertiesForListElements
*@Description 拷贝一个集合中的实体元素的属性到一个新的元素类型的集 合
*@param targetClass
*@param origList
*@param depth 拷贝深度
*@param filterNames 过滤参数,参数方式为{className}.{fieldName},比如 UserV o中的name属性不需要过滤则写为UserVo.name
*@return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static List copyPropertiesForListElements(Class targetClass, Collection origList, int depth, String[] filterNames){
List destList = new ArrayList();
for(Object obj:origList){
 
 
Object dest = targetClass.newInstance();
dest = copyProperties(dest, obj, depth, filterNames); destList.add(dest);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return destList;
}
6.2.7专业训练模块的实现
广播电视的无线发射传输,是党和政府的喉舌,提高工作人员的专业能力也 必不可少,人才才是安全播出中的骨干力量,他们与时俱进,专业知识丰富,可 以解决无线发射传输的技术问题。因此根据行业的需求,培养技术型人才是必须 的,可以不断适应无线发射传输的发展需求。其包括了:增加、删除、在线阅读, 其流程图如图 6-20 所示,界面截图如图 6-21 所示。
 
创建专业训练计划
确定专业训练内容
 
 
 
图 6-20 专业训练流程图
 
图 6-21 专业训练界面图 双击目录中的某项,进行培训内容阅读,如图 6-22 所示,选择“浏览”回到 目录页。
 
图6-22 专业训练培训内容截面图
 
在专业训练时,我们的培训内容有可能涉及到图片,对此,我们需要对图片进 行一个转换的编辑,图片文件序列化其代码如下所示:
/**
* @author 图片文件序列化
*/
public class ImageUtils {
/**
*将图片文件的哈希字符串数据转化为字节数组
*@param message 图片文件的哈希字符串值
*@return 图片的字节数组
*/
public static byte[] convertFromBaseHexString( String message ){ byte[] data = new byte[message.length( ) / 2 ]; for( int index = 0; index < data.length; index++ ){
String byteString = message.substring( 2 * index, 2 * index + 2 ); int byte Value = Integer.parseInt( byteString, 16); data[index] = (byte)byteValue;
}
return data;
 
*将图片文件的字节数组转化为哈希字符串
*@param data 字节数组
*@return 哈希字符串
*/
public static String convertToBaseHexString( byte[] data ){ StringBuffer buffer = new StringBuffer( ); for( int index = 0; index < data.length; index++ ){
String plainText = Integer.toHexString( 0xff & data[index] ); if( plainText.length( ) < 2 ) plainText = "0" + plainText;
buffer.append( plainText );
}
return buffer.toString();
}
}
6.2.8器材管理模块的实现
器材管理是广电无线发射传输中心管理系统的一个重要组成部分,这里的器 材主要指备品备件和工具。从器材进入单位开始建立入库,在日常检修维护中需 要使用就会存在借或直接替换旧器材,并在每月每季度每年进行盘点。它包括入 库记录和出库记录,如图6-23所示,其实现界面如 6-24 所示。
器材管理
 
 
 
图 6-23 器材管理流程图
 
 
图 6-24 器材管理界面
 
在器材管理中我们对器材有一个数据统计,其统计所用到的数据表配置情况
代码如下:
<hibernate-configuration> //广电发射传输中心信息管理系统器材管理用到的三
张表
<session-factory>
<mapping class="edu.xmu.software.wmmis.model.User"/>
<mapping class="edu.xmu.software.wmmis.model.Broadcast_Records"/>
<mapping class="edu.xmu.software.wmmis.model.Accident_Records"/>
</session-factory>
</hibernate-configuration>
6.3 本章小结
本章主要介绍了基于SSH框架,广电发射传输中心信息管理系统的功能实现, 通过流程图介绍、实现界面截图、关键代码等方式,详细阐述了广电发射传输中 心信息管理系统的实现。
第七章 系统测试
软件测试已是现在软件开发必不可少的工作,它为一款软件是否能够被使用 给出评判,软件功能正确性影响着一个企业信息的正确性,如果软件管理的信息 出现错误,那就会造成不可估量的损失,所以软件测试工作是一个认真严谨的工 作,在测试过程不能错过任何一个小的功能,要做到对他全面系统的测试,通过 各种不同的测试方法,将最后的测试结果进行结合,判定功能的正确性,保证软 件功能的正确。软件测试是为了发现程序的错误而制定的,测试方式的好坏,决 定着软件的质量。测试不仅仅是找出错误,更重要的是它可以帮助项目管理者 发现当前软件开发过程中的缺陷,以便及时改进,它可以帮助开发人员更好 的提高软件的质量,针对本系统将编写测试用例并对功能测试进行软件质量 的分析。
7.1测试目的
系统测试是每一个软件开发流程中的重要构成内容,是确认和检测开发程序 功能、性能是否满足设计要求的重要步骤。有如下几个目的:
1、尽可能多的发现软件中隐藏缺陷。
2、形成报告为软件质量的评价提供支持。
3、通过分析为软件开发过程的改进提供帮助。
4、通过验测对软件工程项目进行验证与确认。
7.2测试方法
1、按程序执行过程可以分为静态测试和动态测试。
静态测试是不动态执行程序代码而寻找程序代码中可能存在的错误或评估程 序代码的过程。它可以由人工进行,充分发挥人的逻辑思维优势。可以借助软件
工具自动进行(如Codesmart格式化代码工具)。静态测试包括代码复查、静态 结构分析、代码质量度量等。实际运行被测试程序,取得程序运行的真实情况、 动态情况,进而进行分析。必须生成测试数据来运行程序,测试质量依赖于测试 数据。生成测试数据、分析测试结果工作量大,使开展测试工作费时、费力、费 人。
动态测试中涉及多方面工作,人员多、设备多、数据多,要求有较好的管理 和工作规程。动态测试需要考虑的多种类型:白盒、黑盒、单元、累积综合、集 
成、功能、系统、端到端、健全、衰竭、负载、强迫、性能、可用性、安装/卸 载、恢复、安全、兼容、比较、 Alpha 、 Bate 测试。
2、 按阶段活动过程可分为单元测试 ,集成测试,系统测试,验收测试。
3、 按测试理念可分为白盒测试,黑盒测试,灰盒测试。 在本文我们测试主要用到的是黑盒测试。
7.3测试内容
广电发射传输中心信息管理系统测试的主要内容是:
1、软件运行是否正常,软件退出时,是否提示保存及确认,特别是非正常关 闭情况下,日志是否有记录且数据是否有备份。
2、 用户端登录界面是否友好,是否简单、明了,便于操作。软件安全性能否 针对不同管理级别进行分别限制,达到提高软件系统和数据库安全目的。
3、 软件的数据库数据的录入、增加、删除、修改等操作是否正常实现,数据 库的可维护性和动态更新是否同步进行。
4、 系统的数据查询和统计功能是否便捷快速,是否模糊匹配,较精准的给出 结果。
5、 数据库是否提示数据溢出、越界情况等异常作业和突发情况告警,能否对 用户不规范操作警告。
6、 软件能否完成各种数据的打印预览和打印操作。
7、 数据类型假如填写错误的情况下,系统能否及时报错,且提示用户正确填 写。
8、 软件是否兼容各种操作系统,是否具有可移植性。
7.4测试环境
软件系统测试,通常需要在一个干净的环境下进行,它分为硬件环境和软件环 境:
1、硬件环境
CPU:P4 3.0 以上;
内存:1GB以上
硬盘:硬盘 80G;
2、软件环境
操作系统:Windows Server2003以上
浏览器:IE6.0
软件:广电发射传输中心信息管理系统软件
7.5用户测试
本文主要对系统进行黑盒测试,由于系统有较多模块,这里列出部分测试用
例。
测试 1:用户登录 用户登录测试用例如表 7-1 所示:
表7-1 用户登录测试用例
用例编号: 01 测试目的: 测试登录模块是否正常
测试方法: 编号 操作 结果
1 输入正确的用户名和密码 正常登录系统
2 输入不存在的用户名 警示用户不存在
3 输入错误的密码 警示密码错误
前置条件: 测试纟士果:登录模块正常’在用户名和密码正确情况下能正常 口 登录,出错时能给出相应的提示,并返回重新登录
 
测试 2:用户注册 用户注册测试用例如表 7-2 所示
表7-2 用户注册测试用例
用例编号: 02 测试目的: 测试注册模块是否正常
测试方法: 编号 操作 结果
1 输入可用的用户名和密码 注册成功
2 输入己被注册过的用户名 提示该用户己存在
前置条件: 测试结果: 注册模块正常,当输入密码和未被注册过的用户名时, 注册成功,当用户名己被注册过时,提示该用户己存在
 
在用户输入密码和未被注册过的用户名时,注册成功,有如图 7-1 的提示。
 
图 7-1 用户名已被注册的提示
7.6功能测试
7.6.1播出记录功能测试
1、测试用例
如表7-3所示,为播出记录的测试用例,对播出记录查询功能进行测试用例的
验证。
表 7-3 播出记录查询测试用例
用例编号 01
原型描述 测试播出记录查询功能,主要被测试的页面方法为 searChchart(),onSeriesClick(),onSeriesClicksA().
用例目的 测试在输入正确的日期下是否可以查到播出记录 测试在输入错误的日期下是否有提示 测试在无输入条件时系统反应
前提条件 系统中存在要查询播出记录勺 亠白 信息
子用例编号 输入 期望结果 实测情况
1.1 输入一条正确的
信息
Year=2012 系统显示了该年份中的所有
已被录入的播出记录信息。 系统以表格的形式输出 了播出记录
1.2 输入错误的年份
格式
Year=error 系统无法查到该信息 系统没有输出任何值,
并且提示输入格式日期
格式错误
1.3 不输入 系统无任何结果输出 系统没有输出任何值, 并且提示输入值为空。
 
2、测试结果
选择播出记录进入模块,如果进行查询输入为空,就会提示信息不正确,如 果输入不是年份,而是字母等信息时,系统提示年份格式不正确,如果输入的年 份比当前的年份大,系统查不到数据就会提示大于当前年份。
7.6.2技术资料功能测试
测试1:增加技术资料
增加技术资料测试用例如表 7-4 所示:
当必填项还未填写完整,就点击确定按钮时,会弹出对话框,提示你输入某
项信息。
 
表 7-4 增加技术资料测试用例
用例编号: 02 测试目的: 测试增 加技术资料是否正常
测试方法: 编号 操作 结果
1 输入必填项,点击确定 添加成功
2 某些必填项未填,点击确定 提示必填项必须填写
前置条件: 用户以管理员身 份成功登录系统 测试结果: 功能正常,当必填项都写入后,点击确定,提 示添加成功,若未填写完整,则给出相应提示。
 
测试 2:删除技术资料 删除技术资料如表 7-5 所示
表 7-5 删除技术资料测试用例
用例编号: 03 测试目的: 测试删除技术资料是否正常
测试方法: 编号 操作 结果
1 选中某条记录,点击“删除选中技术资料”,在弹出 的“确定删除该记录”对话框中选择“确定” 删除成功
2 选中某条
的“确 记录,点击“删除选中技术资料”,在弹出 耳定删除该记录”对话框中选择“取消” 删除失败
前置条件: 用户以管理员身份 成功登录系统 测试结果:功能正常,当确定删除时,成功删除掉 该条记录,取消时,删除失败。
 
测试 3:查询技术资料 查询技术资料如表 7-6 所示
表 7-6 查询技术资料测试用例
用例编号: 04 测试目的: 测试查询技术资料是否正常
测试方法: 编号 操作 结果
1 选择需查询的日期,点击
“查询”按钮 搜索结果列表页中显示该日期的记录
前置条件: 用户成功登录 系统 测试结果: 查询技术资料功能正常,能正确搜索 相应日期的记录
 
 
表 7-7 在线阅读技术资料测试用例
用例编号: 05 测试目的: 测试在线阅 读技术资料是否正常
测试方法: 编号 操作 结果
1 点击需要浏览的技术资料的; 标题链接 显示出对应的技术资料
前置条件: 用户成功登录系统 测试结果: 在线阅读技术资料功能正常,能正确显 示该技术资料
 
7.6.3维护记录功能测试 测试 5:增加维护记录 增加维护记录用例如表 7-8 所示
表 7-8 增加维护记录测试用例
用例编号: 06 测试目的: 测试增 加维护记录是否正常
测试方法: 编号 操作 结果
1 输入必填项,点击确定 添加成功
2 某些必填项未填,点击确定 提示必填项必须填写
前置条件: 用户以管理员身 份成功登录系统 测试结果: 功能正常,当必填项都写入后,点击确定,提 示添加成功,若未填写完整,则给出相应提示。
 
测试 6:删除维护记录 删除维护记录如表 7-8 所示
表 7-9 删除维护记录测试用例
用例编号: 0 7 测试目的: 测试删除维护记录是否正常
测试方法: 编号 操作 结果
1 选中某条记录,点击“删除选中维护记录”,在弹出 的“确定删除该记录”对话框中选择“确定” 删除
成功
2 选中某条记录,点击“删除选中维护记录”,在弹出 的“确定删除该记录”对话框中选择“取消” 删除 失败
前置条件: 用户以管理员身份 功能正常,当确定删除时,成功删除掉
成功登录系统 ' ~口 ■ 该条记录,取消时,删除失败。
 
表 7-10 查询维护记录测试用例
用例编号: 08 测试目的: 测试查询维护记录是否正常
测试方法: 编号 操作 结果
1 选择需查询的日期,点击“查 询”按钮 显示出对应的维护记录
前置条件: 用户成功登录系统 测试结果: 查询技术资料功能正常,能正确搜索相应 日期的记录
 
7.6.4专业训练功能测试 测试 8:增加专业训练 增加专业训练用例如表 7-11 所示
表 7-11 增加专业训练测试用例
用例编号: 9 测试目的: 测试增 加专业训练是否正常
测试方法: 编号 操作 结果
1 输入必填项,点击确定 添加成功
2 某些必填项未填,点击确定 提示必填项必须填写
前置条件: 用户以管理员身 份成功登录系统 测试结果: 功能正常,当必填项都写入后,点击确定,提 示添加成功,若未填写完整,则给出相应提示。
 
测试 9:删除专业训练 删除专业训练用例如表 7-12 所示
表 7-12 删除专业训练测试用例
用例编号: 1 0 测试目的: 测试删除专业训练是否正常
测试方法: 编号 操作 结果
1 选中某条记录,点击“删除选中专业训练”,在弹出 的“确定删除该记录”对话框中选择“确定” 删除
成功
2 选中某条记录,点击“删除选中专业训练”,在弹出 的“确定删除该记录”对话框中选择“取消” 删除 失败
前置条件: 用户以管理员身份测试结果:功能正常,当确定删除时,成功删除掉 成功登录系统 该条记录,取消时,删除失败。
 
测试 10:在线阅读训练教案
在线阅读训练教案如表7-1 3所示
表7-13 在线阅读专业训练教案测试用例
用例编号: 11 测试目的: 测试在线阅读专业训练是否正常
测试方法: 编号 操作 结果
1 点击需要浏览的专业训练的标 题链接 显示出对应的专业训练
前置条件: 用户成功登录系统 测试结果: 在线阅读操作训练功能正常,能正确显 示该目录
 
7.6.5器材管理功能测试 测试 6:增加入库记录 增加入库记录用例如表 7-14 所示
表 7-14 增加入库记录测试用例
用例编号: 12 测试目的: 测试增 加入库记录是否正常
测试方法: 编号 操作 结果
1 输入必填项,点击确定 添加成功
2 某些必填项未填,点击确定 提示必填项必须填写
前置条件: 用户以管理员身 份成功登录系统 测试结果: 功能正常,当必填项都写入后,点击确定,提 示添加成功,若未填写完整,则给出相应提示。
 
测试 7:删除入库记录 删除入库记录如表 7-15 所示
表7-15 删除入库记录测试用例
用例编号: 1 3 测试目的: 测试删除操作训练是否正常
测试方法: 编号 操作 结果
1 选中某条记录,点击“删除选中入库记录”,在弹出 的“确定删除该记录”对话框中选择“确定” 删除成功
2 选中某条
的“确 记录,点击“删除选中入库记录”,在弹出
J定删除该记录”对话框中选择“取消” 删除失败
前置条件: 用户以管理员身份 成功登录系统 测试结果・功能正常,当确定删除时’成功删除掉 ' ~口 ■ 该条记录,取消时,删除失败。
表 7-16 查询器材库存测试用例
用例编号: 14 测试目的: 测试查询器材库存情况是否正常
测试方法: 编号 操作 结果
1 输入需查询的器材名称,点 击“查询”按钮 搜索结果列表页中显示该器材使 用情况
前置条件: 用户成功登录系统 测试结果: 查询器材库存情况正常,能正确 搜索相应名称器材的记录
 
7.7测试结果分析和说明
广电发射传输中心信息管理系统的功能范围包括:5 个功能模块,设计测试用 例 14 个,执行 14 个,从需求符合性、功能正确性及复杂的业务逻辑关系进行全 面的用例设计,覆盖了所有功能模块。从问题来看,发现 57 个问题,57 个问题是 在之前的版本测试中发现的,本轮测试只有一个问题被挂起,并未发现新的问题。 问题的解决率达 97.2%,测试通过,目前功能满足用户需求。
7.8本章小结
本章主要介绍了,按照编写的测试用例对本系统进行了用户测试、功能测试, 没有致命性错误、严重、一般性错误,遗留的缺陷和未测试部分风险在可控范围 内,满足设计需求,系统测试通过。
第八章 总结和展望
8.1 论文总结
经过近 1 年代码及论文书写,毕业设计进入最后环节,广电发射传输中心信 息管理系统的功能已逐步实现。
在毕业设计中,本人自知知识面有限,认真学习、潜心思考并实践,使本人 对基于SSH框架及Java等相关的技术有了一定了解。本人做的是信息管理系统的 设计与实现,从资料的查询到设计的雏形,让本人在有限的时间内对信息管理系 统有了基本认知,积累了丰富的理论知识。经过需求分析,可行性分析,再到后 来的 Java 配置环境,书写代码及其调试,让本人作为一个用户对该类系统的需求 和软件运行的环境有了一定了解。将之前学过的数据库知识跟Java技术结合在一 起,理论联系实际,在实践中锻炼了本人分析处理问题的能力并激发了这方面的 兴趣。
通过这次毕业设计,本人巩固了并加深了对软件工程这门学科的认识,尤其 让本人在使用工程流程的各个阶段有了进一步的了解,并相对独立地完成各个阶 段的任务。通过这次设计还让我明白了需求分析和概要设计是系统真正开发的关 键,它规划出系统的大致模块和业务接口,流程转换以及模块之间的关系。如果 概要设计不科学,将会导致之后的详细设计工作出现冗余,目标不明确甚至失去 方向。虽然在开发过程中受水平和时间所限,在设计中还有些欠缺或考虑不周全 的地方,但这次毕业设计的经历将对本人今后的学习和工作产生重大意义。
8.2工作展望
经过团队的分工合作共同努力完成了广电发射传输中心信息管理系统的开 发,一年来,系统运行稳定可靠,达到最初设计要求。后续我们将从以下几个方 面进一步完善。
1、 系统的播出记录可视化,后续我们将设备的端口接入,直接采集设备运行 时的数据,让输出更加直观。
2、 未来我们计划外挂搭建视频会议、设备监控、值班考勤系统等,让系统更 加完善,因此数据库的设计有待改善。
3、 数据库的 SQL 语句进行优化提升数据的查询效率,提升系统的整体运行效 率,使数据显示更加迅速。
4、 代码的优化。
致 谢
在电子科技大学三年学习生活中,我得到了许多老师、同学、朋友和家人的
帮助,正是因为他们的真诚帮助,让我度过了人生中最愉快的三年。
本文是在王占平副教授的悉心指导下完成的。王教授高超的学术水平、孜孜 不倦的治学方式,和严谨的学术态度让我受益良多。他对我的严格要求和耐心指 导使我在学术之路上能迈过坎坷,继续前行。从论文的开题到模块的设计理念, 王教授给我了启发性的指导。在此对他表示最诚挚和最衷心的感谢!
同时也感谢学院王红老师、周航老师在平时的学习生活中给予的关心、帮助 和支持。
感谢我亲爱的同学们、朋友们,每一次在我遇到问题的时候,都耐心的帮我 拓展思维,得到更好的解决方案。
特别要感谢一直以来在生活和学习中默默关心我的家人,是他们无私的爱以
及谆谆教导,让我克服了学习和生活中的每一个困难,取得了今天的成绩。
最后感谢各位阅读我论文的老师,谢谢你们在百忙之中来评阅论文。
参考文献
[1]孙卫琴,Java Web开发技术详解[M].北京:电子工业出版,201361-2
[2]孙一林,彭波.Java数据库编程实例[M].清华大学出版社,2012.8:23-25
[3]涂继亮,陶秋香.基于B/S模式的毕业设计双向选题管理系统设计[J].现代计算机 2007,(1) 11-23
[4]三杨科技.Struts2核心技术与JavaEE框架整合开发实践[M].北京:电子工业出版社, 2008
[5]刘祥颖.基于MVC框架的Struts框架实现校园网认证计费体系系统[D].天津工业大 学 2007:45-52
[6]陈尚松,杜旭英,俞欢军•基于Struts+Hibernate+Spring框架的毕业设计管理系统[J]. 计算机工程与设计,2008(1) :11-23
[7]Vinoski.S,CORBA:Intergrating Diverse Applications Within Distributed heterogenous Enviroment,IEEE Communication Magazine[J].1997.2:15-19
[8]陈凤英,王加阳.基于Ajax的无刷新实时参考咨询系统的设计实现[J].湖南科技学院 学报,2008:11-23
[9]湛湘倩,狄文辉,孙冬.基于SSH框架与AJAX技术的Java Web应用开发[J].河南科 技大学报,2009:11-23
[10]张鹏伟,陈景霞,张文平.Ext JS和SSH的Web应用构架的研究与实现[J].陕西科技 大学报,2010:11-22
[11]Dennis Merritt,Archite chture for Embedded Intelligent Components[M]. 2011:64-69
[12]Dejan Sunderic,曹俊,姜龙芳.SQL Server 2005 T-SQL[M].北京:清华大学出版社, 2008-05:94-99
[13]翟高粤.SSH框架扩展与集成的研究[J].煤炭技术,2011,30(8):194-195.
[14]唐权,陶宁,陈印.基于SSH架构的CRUD应用设计[J].四川职业技术学院学报, 2010,20(4):113-115
[15]高洪岩.至简SSH:精髓Java Web实用开发技术.电子工业出版社,2009:15-19
[16]冷悦,徐春雨.使用Use Case建模的几个常见问题[J].中国科技信息,2009, (03) :30-36
[17][美[Microsoft Cooprataion,Application Architecture for .NET Designing Applications and Services[M].Microsoft Press,2002:107-165
[18]Aleander Repenning、Andri Ioannidou、Michele Payton、Wenming Ye and Jeremy Roschelle, Using Components for Rapid Distributed Software Development, Software[J]. Vol.18,NO.2, March-April 2001 :38-45
[19]Dennis Merritt, Architechture for Embedded Intelligent Components [M]. PC AI Magazine, 2001.1:35-49
[20]Vinoski.S,CORBA:Intergrating Diverse Applications Within Distributed heterogenous Enviroment,IEEE Communication Magazine[J]. 1997.2:15-19
[21]徐相林.基于ASP. NET技术的结构设计实现[J].电脑知识与技术,2008( 1) : 51-56
[22]李刚.Struts2权威指南一基于WebWork核心的MVC开发[M].北京:电子工业出版社, 2007.34-38
[23]邓子云,肖锋,谢英辉.精通J2EE网络编程[M].北京:清华大学出版社,2005.12-23
[24]侯国照,李延斌,秦国,王金彪.Struts2的应用研究[J].中国高新技术企业 2008(17):12-23
[25]赵洋,张丽,王恩东,张素宁 基于Struts,Hibernate和Spring的J2EE架构研究[J]. 现代电子技术,2009(2). 102-203
[26]Craig, Walls, Ryan, Breidenbach. Spring in action[M].人民邮电出版社,2006.34-45
[27]刘京华.Java Web 整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring) [M].北 京:清华大学出版社,2010.34-78
[28]徐小泽.基于J2EE和Hibernate构建个性化网络信息检索系统[D].上海交通大学,2006. 102-123
[29]陈开梅.基于MVC模式的株洲技术学院学生成绩管理系统[D].湖南师范大学,2008,
50-60
[30]Christian.Spring Framework Reference 中文参考手册
[31]卫红春,朱欣娟•信息系统分析与设计[M].西安:西安电子科技大学出版社,
2008.187-223
[32]张帆,朱大勇,余莉,张健.软件开发技术[M].北京:电子工业出版社,2010.169-174
【本文地址:https://www.xueshulunwenwang.com//guanlilei/gongshangguanli/xixinguanli/9044.html

上一篇:糖尿病信息管理设备的用户研究与设计

下一篇:基于大数据的城乡低保信息管理系统 的设计和实现

相关标签: