本科生毕业论文(设计)
Undergraduate Graduation Thesis(Design)
题目Title:环境企业表单权限分配填报数据
系统设计与实现
院 系
School (Department):数据科学与计算机学院
专 业
Major: 软件工程
学生姓名
Student Name:
学 号
Student No.:
指导教师(职称)
Supervisor(Title):
时间:2016年 4 月 19 日
Date: Month Day Year
表一:毕业论文(设计)开题报告
Form 1: Research Proposal of Graduation Thesis (Design)
论文(设计)题目 Thesis (Design) Title:环境企业表单权限分配填报数据系统设计与实现 |
(简述选题的目的、思路、方法、相关支持条件及进度安排等) (Please briefly state the research objective, research methodology, research procedure and research schedule in this part.) 1选题的目的及背景 随着经济发展进入新常态,生态文明建设和环境保护也迈入新常态,这其中,环境信息化无疑是重要的一环。通过调查、检查,初步摸清环保行业信息安全现状。本课题着重研究Java Web应用开发,使用整合现有的开源框架,构建一套完整的从数据到控制到业务再到视图的平台。结合数据的优势,针对环境企业的复杂业务,实例开发一个添加系统用户和企业用户的便捷管理用户;通过设置用户的角色来给不同的用户分配不同数据报表来填报数据的电子办公;系统审核用户可以查看填报的数据来审核数据的系统。 2 设计思路,设计方法 本系统采用MVC体系结构,本系统采用MVC架构设计,把模型层分为业务层和持久层,总共四层。分层结构很好地满足了系统的可维护性、安全性和稳定性,应用MySQL作为后台数据库管理系统进行开发, 本机上同时用作数据服务器和应用服务器。 3 相关支持条件 广东新康博思信息技术有限公司作为广东省环境监控中心信息中心的技术支持,拥有丰富的数据,本课题依据这些数据进行分析; 中山大学图书馆提供国内外本课题有关的书籍,期刊,论文等资料。通过这些资料了解国内外发展现况,为研究提供新思路; 熟练掌握Java,Javascript 等编程语言,可以通过编程来实现微信查询数据中心信息系统。 Student Signature: Date:
|
指导教师意见 Comments from Supervisor:
1.同意开题 2.修改后开题 3.重新开题 1.Approved( ) 2. Approved after Revision ( ) 3. Disapproved( )
Supervisor Signature: Date:
|
表二:毕业论文(设计)过程检查情况记录表
Form 2:Process Check-up Form
指导教师分阶段检查论文的进展情况(要求过程检查记录不少于3次) The supervisor should check up the working process for the thesis(design)and fill up the following check-up log. At least three times of the check-up should be done and kept on the log.
第1次检查(First Check-up):
学生总结 Student Self-summary:
调研分析业务需求,业务逻辑还是有点复杂和无序的。技术储备方面,经常去看论坛写小例子,有所累积,不过有些问题还是问了熟悉的同事可以少走一些弯路。目前纠结选择mybatis还是hibernate,两者各有所长各有所短。 目前着手开始写系统的需求分析,发现自己学过的系统分析与设计这门可都用上了,但是还是会有一些不清楚的关系和流程不能确认,需要巩固加以应用。有时候在编辑论文是会有时候找不到正确的修饰语,可能是这方面还是有点缺少练习的原因。
指导教师意见 Comments of Supervisor: 多阅读优秀论文和资料,了解本领域中外著名学术期刊,并下栽至少50篇论文。 记录参考文献,注意避免学术抄袭等问题。
2016-01-13 第2次检查(Second Check-up):
学生总结 Student Self-summary:
实验进入实质的编码阶段,在编码时常碰见异常或bug,多困了老师同学们还有我的同事们的帮忙,目前实验进行的还算可以,不过,规划工作量的话,还有论文需要完成,所以时间还是相当进步的。 论文结构完成了前面的需求分析和设计,由于实验的进行了中,后面的部分可能要非常加紧。在阅读了大量的文献后,在编辑论文的时候的速度明显比之前快了很多,这里确实感谢老师的指导建议。目前的任务就是马上把实验做完,然后尽快完成论文。
指导教师意见 Comments of Supervisor: 设计毕业论文架构,撰写大纲;尽早设计、实现、完成相关实验。 要求:数据真实、可靠。 需提交源代码。 2016-03-13
第3次检查(Third Check-up):
学生总结 Student Self-summary: 由于没有备份数据,在数据库异常崩溃后没法及时恢复,导致极大的滞后的工作量。还好的是其他人有备份的老版本,在更换整合架构的数据库后,系统的稳定性比以前好多了。实验完成后,论文的编辑工作就十万火急了。然后在编辑的时候发现同学都在讨论文本格式的相关事宜。我通过自我审查,发现问题还真是不少,不过再统一格式的要求下,论文的结构和主体更加凸显了。
指导教师意见 Comments of Supervisor: 撰写规范的毕业论文,认真阅读毕业论文规范,这是形式审查,“形式”上的问题,希望同学们自己能够解决好。 2016-04-13 第4次检查 Fourth Check-up
学生总结 Student Self-summary: 论文的内容完成,并根据老师的修改意见在内容和格式上再编辑,对有不足的地方及时改正。按照中山大学毕业论文写作与印制规范针对论文的格式进行修改,进一步完成论文的格式。和同学沟通交流论文在修改中正确的方法。 这次论文是大学最后一次课程设计,也是重要的对大学知识的总结,是一次刻骨铭心的记忆,也在这样的经历中学习和收获。
指导教师意见(Comments of Supervisor): 从内容、结构、语言以及规范等方面做深入细致的检查,也请同学们结合互查。 每个同学需总结你在毕业论文过程中的收获、问题。 2016-04-30 学生签名(Student Signature): 日期(Date):
指导教师签名(Supervisor Signature): 日期(Date):
|
|
总体完成情况 (Overall Assessment) |
指导教师意见Comments of Supervisor:
1、按计划完成,完成情况优(Excellent): ( ) 2、按计划完成,完成情况良(Good): ( ) 3、基本按计划完成,完成情况合格(Fair):( ) 4、完成情况不合格(Poor): ( )
指导教师签名(Supervisor Signature): 日期(Date):
|
表三:毕业论文(设计)答辩情况登记表
Form 3: Thesis Defense Performance Form
答辩人 |
|
专 业 Major |
|
论文(设计)题目 Thesis(Design) Title |
|
||
答辩小组成员 Committee Members |
|
||
答辩记录 Records of Defense Performance:
记录人签名(Clerk Signature): 日期(Date):
|
学术诚信声明
本人所呈交的毕业论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料均真实可靠。除文中已经注明引用的内容外,本论文不包含任何其他人或集体已经发表或撰写过的作品或成果。对本论文的研究作出重要贡献的个人和集体,均已在文中以明确的方式标明。本毕业论文的知识产权归属于培养单位。本人完全意识到本声明的法律结果由本人承担。
本人签名: 日期:
Statement of Academic Integrity
I hereby acknowledge that the thesis submitted is a product of my own independent research under the supervision of my supervisor, and that all the data, statistics, pictures and materials are reliable and trustworthy, and that all the previous research and sources are appropriately marked in the thesis, and that the intellectual property of the thesis belongs to the school. I am fully aware of the legal effect of this statement.
Student Signature: Date:
[摘 要]
环境信息化是政府信息化建设的重要组成部分,深入推进环境信息化建设是国家信息化发展的客观要求,是建设服务型政府的重要手段,是实现环境管理科学决策和提升环境监管效能的基本保障。对于一套兼容并包的信息管理系统,不同的类型的企业机构有相对应的属性业务表单,需要对建立的表单建立关联关系,并且系统的用户有填报、审核及管理的多重功能。
本文开发一套系统应用于环境企业的差异化表单填报与用户权限分配的实际场景,可以有效提升系统的管理与业务数据的汇总和分析。
本文完成的主要工作如下:
1.通过对当前业界主流的开源框架进行分析和比较,最终确定了以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎,BootStrap实现表现层的选型方案,并完成框架的整合实际进行开发。
2.通过广泛阅读相关资料,调研对比企业信息管理系统设计思路,运用合适的设计模式和设计原理及基于组件的开发技术完成了框架的应用整合与实现任务,并以框架的业务为例展示了功能的单元测试的过程。
3.通过系统的调研,针对环境企业的实际应用环境,结合企业在实际的生产加工中涉及到的污染物,有针对的说设计各类数据表并符合实际应用的数据关联。
本文通过高效稳定的MVC架构,提供针对环境企业业务的表单与权限管理、持久化支持、精致界面等,为环境企业信息化管理提供了一个开发实例。
[关键词]: MVC; Web应用; 环境信息化; 权限管理
[Abstract]
Environmental information is an important part of government information construction, further promote environmental information construction is the objective requirements of national development and an important means of building a service-oriented government it is to achieve the environmental management of scientific decision-making and improve environmental regulatory efficiency basic protection. For an inclusive information management systems, different types of organizations have a corresponding property business forms, we need to establish a form of associate relations, and the user has to fill the system, the multiple functions of audit and management.
Reporting system used in this paper to develop a business environment differentiated form and user rights assignments actual scene, can effectively enhance the aggregation and analysis of data management and business systems.
Main work done as follows:
1. Adoption of the current industry mainstream open-source framework for analysis and comparison, to finalize the Spring Framework as the core container, Spring MVC is Model View Controller, MyBatis data as accessing layer, Apache Shiro as the privilege authorization layer, Ehcahe as the frequently used data cache, Activit as the workflow engine, BootStrap as selection program to achieve performance level, and the actual completion of the integration framework for development.
2. The relevant information through extensive reading, research comparing enterprise information management system design concept, the use of suitable design principles and design patterns and complete application integration and implementation framework of the mandate of the technology component-based development, and shows an example of the operational framework process functional unit tests.
3. Through systematic research, practical application environment for enterprise environments, combined with enterprise involved in the actual production and processing of pollutants, there are various types of data for the design of said table and in accordance with the data associated with practical application.
Through efficient and stable MVC architecture, form and provide rights management for enterprise business environment, persistence support, and other refined interface for enterprise information management environment provides a development instance.
[Keywords] : MVC; Web application; Environment information; Rights management
目 录
摘要 Ⅰ
Abstract Ⅱ
第一章 前言 1
1.1 项目的背景和意义 1
1.2 研究开发现状分析 1
1.3 项目的目标和范围 2
1.4 论文结构简介 3
第二章 技术与原理 4
2.1需求设计阶段 4
2.1.1 UML图的设计与制作 4
2.2 编码测试阶段 5
第三章 环境企业表单权限分配填报数据系统的需求分析 8
3.1 系统需求概述 8
3.1.1 系统总体需求 8
3.1.2 系统主要需求 8
3.2 系统管理员需求分析 10
3.2.1 添加企业用户管理场景 11
3.3 企业用户需求分析 12
3.3.1 数据填报场景 12
3.4 地方审核员需求分析 13
3.4.1 数据回退场景 13
3.5 领域建模 14
第四章 环境企业表单权限分配填报数据系统架构设计 16
4.1 设计系统架构 16
4.1.1 B/S架构设计 16
4.1.2 基于MVC模式的架构设计 17
4.2 用例的实现 17
4.2.1系统管理员用例的实现 17
4.2.2 企业用户用例的实现 18
4.2.3 地方审核员用例的实现 19
4.3 数据库设计 20
第五章 环境企业表单权限分配填报数据系统的模块设计 24
5.1 系统管理员功能模块的实现 24
5.1.1 企业用户的添加 24
5.2 系统功能模块的实现 26
5.3 企业用户填报功能模块的实现 27
5.3.1 企业用户的填报数据 27
第六章 部署与应用 29
6.1 系统的部署 29
6.2 文件结构 29
6.2.1源码目录 30
6.2.2 数据资源目录 30
6.2.3 发布目录 31
6.3 系统运行结果 31
6.3.1 系统管理员的界面 31
6.3.3 企业用户的界面 32
6.3.3 地方审核员的界面 32
第七章 总结与展望 34
7.1 总结 34
7.2 展望 34
参考文献 35
致谢 36
1.1 项目的背景和意义
科技发展,新技术不仅颠覆了传统产业,更改变了人们原有的生产生活方式。随着中国环境问题的逐渐严峻,资源的日渐紧缺,节能环保正成为一个越来越重要的战略性行业。作为国家整个信息化的重要组成部分,环境信息化是推进生态环境治理体系和治理能力现代化的内在要求和重要支撑。在2014年12月28日召开的全国环境信息中心主任工作会议上,“整合、共享、畅通”成为与会代表谈论最多的词汇。
随着经济发展进入新常态,生态文明建设和环境保护也迈入新常态,这其中,环境信息化无疑是重要的一环。环境保护部信息中心还不断深化电子政务建设与业务应用,提升环境信息服务能力,加强政府网站建设与管理,推动信息公开和政务互动。在信息安全保障方面也有所突破,通过调查、检查,初步摸清环保行业信息安全现状。信息化工作离不开“一把手”的重视,近两年各地纷纷成立信息化领导小组,统领环境信息化工作。在北京,由市环保局局长担任信息化工作领导小组组长,信息化工作办公室设在信息中心,实现了全局环境信息化建设规划制定、项目立项、系统开发、应用推广、运维保障等工作归口管理。
环境信息化是一项全局性、长期性的工作,在推进环境信息化的建设过程中,必须站在环境保护业务全局的高度统一领导、统筹规划,必须采取战略管理的思想、方法和途径,才能保持信息化建设创新发展、均衡发展和可持续发展。
1.2 研究开发现状分析
中国的环境保护信息化工作起步于上世纪80年代中期,20多年来,环保信息化与环保事业一起发展。现在移动互联、物联网、云计算等新技术的快速发展为环保信息化应用提供了良好的技术契机,同时各级环保主管部门对环保信息化工作重要性的认识逐步提高,逐年增加建设资金投入,建设进程明显加快。
环境信息化的开展日益成为环境建设的重要组成部分,随着认识水平的不断提高以及计算机技术的日新月异,环境信息化建设的难点已经显现,领导和管理人员在在认识上应当予以重视和深化。[1]
中国环保信息化市场,在现阶段是一个政策推动型的市场,有着鲜明的“政策市”特色。在未来随着环保管理的细化,必将启动一个源自企业环保信息化需求的“企业市”。2014年初,中央网络安全和信息化领导小组成立,将网络安全和信息化提到了前所未有的高度。这意味着我国网络安全与信息化管理体制机制正在发生深刻的变化,这个新框架不仅预示我国新的信息化战略和网络强国战略被提上议事日程,而且也预示信息技术和网络技术的竞争将有新的突破。
由于管理可以实现促进会计的目的,帮助决策者实现企业的变革,详细的填报制度建设是以满足企业发展的需要,特别是对于现代的一个发展目标的企业,最大的在资本运作模式的企业价值。[2]系统的数据填报管理势必促进企业想环保方向发展。
1.3 项目的目标和范围
该项目以环境企业信息化为中心,设计的目标用户是围绕着环境企业在数据填报过程中的职责分为已下三类:企业用户、地方审核员、系统管理员。
企业用户在实际应用有会根据其生产或处理的物品,分为石油化工厂、电镀厂、印染厂、水泥厂、钢铁厂、陶瓷厂、污水处理厂、规范化畜禽养殖场及未划分出的记为其他类别。上述分类将为系统的差异化表单处理提供了应用场景,在对用户分配所属类型时,也是确定其访问除了基表(基本信息表、生产概括表、废水排放表、废气排放表等)以外的有针对性的专表的权限。
本文的数据填报审核系统以数据填报功能为主,权限分配功能和表单分配功能为辅。
数据填报功能:
数据填报功能的范围包括企业用户在阅览数据填报模块、输入数据、保存数据和数据上传事件。
数据填报功能目标是企业用户使用登录名和密码成功登录系统后,其在数据填报模块下可见的表单,其中包括基表(基本信息表、生产概括表、废水排放表、废气排放表等)和企业用户建立的角色分配的专表,完成数据填报并可以保存上传到系统成功。
权限分配功能:
权限分配功能的范围包括系统管理员添加用户过程中选择的用户类型的事件。
权限分配功能的目标是系统的三类用户在登录系统时,其可见的和可操作的表单受到限制,以保护系统的安全性。
表单分配功能:
表单分配功能的范围包括系统管理员添加用户和添加企业名录的过程中可多选的用户角色的事件。
表单分配功能的目的是企业用户可以在数据填报增加其相关的专表,可以极大的避免了系统表单的冗余。
1.4 论文结构简介
此论文包括前言、技术与原理、需求建模、架构设计、模块设计、部署与应用、结论、致谢、参考文献等。其中技术与原理包括需求设计阶段需要的UML图的设计和制作以及以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎,BootStrap实现表现层的选型方案技术。需求建模时采用面向对象的方法,分别对总体需求以及三大场景(填报、审核、管理)的需求进行建模与分析。在架构设计的部分,详细介绍了服务器端的架构,描述了部分业务用例的实现,并用ER图展示了数据库的设计。模块设计部分介绍了类的使用。部署与应用部分除了部署图外,还详细介绍了典型页面的输入与输出。最后是结论、致谢以及本文的参考文献。
2.1需求设计阶段
2.1.1 UML图的设计与制作
统一建模语言(Unified Modeling Language)是一种通用的可视化面向对象建模语言,它提供了多种图元。[3]为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。UML为编写系统蓝本提供了一个标准化方法,还包括诸如业务过程和系统功能这类的抽象概念。[4]
统一建模语言(UML)是一种用来对真实世界物体进行建模的标准标记,这个建模的过程是开发面向对象设计方法的第一步。UML是在Booch、OMT、OOSE等面向对象的方法及其它许多方法与资料的基础上发展起来的。
UML表示法集中了不同的图形表示方法,剔除了其中容易引起的混淆、冗余或者很少使用的符号,同时添加了一些新的符号。其中的概念来自于面向对象技术领域中众多专家的思想。UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。尽管UML和其它开发工具还会设计出许多派生的视图,但上述这些图和其它辅助性的文档是软件开发人员所见的最基本的构造。其中:
UML用例图与OOSE中的用例图类似。
UML的类图综合了OMT、Booch等面向对象方法中的类图。
UML状态图是对David Harel所提出状态图的改进。
UML活动图的基本语义和状态图大致相同,它类似于许多方法(包括面向对象技术之前的一些方法)中的工作流图。
UML的协作图是通过对Booch方法的对象图、Fusion方法的对象交互图以及其它一些方法中的相关图表改造而成的。
UML的构建图和部署图是在Booch方法中的模块和进程图(处理关系图、处理器图)的基础上发展起来的。
UML的开发者们是在设计一种语言(尽管只是一种图形化语言),因此必须在简明(所有元素一律用方框和文字表示)和繁琐(为每个元素设计单独的符号)之间权衡。尽管如此,UML中还是增添了衍型和扩展机制等一些新的元素,因为这些元素在其它建模语言的实践中已经被证明是非常有用的。
Astah Professional 功能强大,支持 UML1.4中所有图和主要的图形,元模(Meta Model)及属性,全面满足您建模所需,还集成了思维导图,工程合并,协作开发等十余项特色功能,以及许多方便用户的贴心实用的功能。
2.2 编码测试阶段
2.2.1 Spring Framework
Spring Framework是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。
Spring是由Rod Johnson 创建的一种开源框架,该框架以IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)为基础。[5]通过基本的JavaBean完成以前只能有EJB完成的工作,同时Spring框架不仅集成了对Hibemate和其他O/R mapping数据访问的解决方案。[6]
IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。
AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
2.2.2 Spring MVC
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助简化开发。
Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。Spring框架是围绕DispatcherServlet来设计的,DispatcherServlet负责转发请求给相应的应用程序。[7]
2.2.3 MyBatis
MyBatis 本是apache的一个开源项目iBatis,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
把Mybatis的功能架构分为三层:
(1)API接口层:提供给外部使用的接口API,开发人员通过这些API接口更加方便的对数据库进行操纵。[8]接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
(2)数据处理层:负责具体的SQL查找、SQL解析和执行,实现数据库记录和Java实体进行映射。[8]它主要的目的是根据调用的请求完成一次数据库操作。
(3)基础层:负责配置文件加载,数据库连接管理,事务管理和缓存处理,这些作为数据处理层的支撑。[8]这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
MyBatis的需要充分利用了Java的现有知识和权力的最简单的方法和SQL还提供了强大的功能,使数据持久性实现简单。 Java持久性与MyBatis的3是一个实用的,实践指南,为您提供了一系列明确的一步一步的练习,这将有助于你了解如何MyBatis的工作原理以及如何使用它为您的实际应用需求。[9]
2.2.4 Apache Shiro
Apache Shiro是Java的一个安全框架。对比Spring Security,它简单,可能没有Spring Security做的功能强大。Apache Shiro 与Spring Security相比,使用比较简洁易懂的认证换授权方式,能够快速地嵌入到信息系统中,减少了开发的难度,降低了开发成本。[10]
2.2.5 Ehcahe
Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
2.2.6 Activit
Activiti的是一个轻量级的工作流和业务流程管理(BPM)平台定位于商务人士,开发人员和系统管理员。其核心是一个Java的超高速和稳定的BPMN2的流程引擎。它是开源的,在Apache许可证下发布。 Activiti的运行在任何Java应用程序,一个服务器上,在群集上或在云中。它与Spring完美结合,显得十分轻巧,基于简单的概念。
2.2.7 BootStrap
Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。
第三章 环境企业表单权限分配填报数据系统的需求分析
1
2
3
3.1 系统需求概述
设计与实现环境企业表单权限分配填报数据系统,是希望通过开发对环境企业的信息化数据录入与管理的各个功能模块,形成一套实用的企业信息化数据统计工具,来满足日益复杂的信息管理平台,达到提升工作效率的目的。
3.1.1 系统总体需求
系统包括三个主要的业务场景,分别是添加用户、填报数据、审核数据。通过主要的三个业务场景,来给系统添加众多的企业并未其分配企业用户,其企业用户可以通过其登录名和密码登录系统来查看企业的基表和专表并填报数据,其企业用户可以保存数据并上传数据通知审核员。系统的审核员可以登录系统查看待办事务,可以审核数据是否返回进行修改。三个业务场景把环境企业信息化的业务流程集中到系统中,方便了系统中不同分工的用户可以清晰的找到其需要的工作事务,极大的方便了信息管理中的工作,提升了办事效率。
3.1.2 系统主要需求
从系统管理员需求的角度出发,环境企业表单权限分配填报数据系统主要的功能模块包含6项,分别是个人信息管理、用户管理、数据填报、数据审核管理、数据保存以及企业任务分配管理。对应的系统用例图如图1所示。
图 1系统用例图(系统管理员)
从企业用户的角度出发,环境企业表单权限分配填报数据系统则有2项主要的功能模块,分别是填报数据和上传数据,其填报数据包含填报基表数据和填报专表数据以及完成后的保存数据。对应的系统用例图如图2所示。
图 2 系统用例图(企业用户)
从地方审核员出发,环境企业表单权限分配填报数据系统则有4项主要的功能模块,分别是查看待办事务、设置企业填报任务、数据回退和统计填报进度统计,其统计填报进度包含按行政区域统计和按行业类别统计。对应的系统用例图如图3-3所示。
图 3 系统用例图(地方审核员)
3.2 系统管理员需求分析
本节将对环境企业表单权限分配填报数据系统中,系统管理员视角的主要功能模块进行需求分析,并对相应的核心用例及业务流程进行描述。
3
3.1
3.2
3.1.1 添加企业用户管理场景
本系统的企业用户的基本信息包含姓名、登录名、邮箱、移动电话所属地级市、所属行政区、职位、部门微信号。为了确保每个企业至少有一个企业用户与之对应,需要在创建好的企业名录的企业下,添加企业用户。
其中,添加和修改用户信息的用例描述如表格 1所示。
表格 1 添加企业用户的用例描述表
用例名称 |
添加企业用户 |
参与者 |
系统管理员 |
简单描述 |
系统管理员添加新的添加企业用户 |
前置条件 |
1.系统管理员已进入“环保大检查一企一档”页面 |
基本事件流 |
1.系统管理员点击“数据审核”按钮,进入“企业名录管理”页面; 2.页面显示企业名称查询和企业名称列表,企业名称列表其中包括污染源编码、企业类型、地市和区县; 3.在“企业名称”文本框输入关键字,点击“查询”按钮; 4.点击查询出的企业名称,进入“企业基本信息”页面; 5.点击“添加企业用户”按钮,进入添加用户页面,其中包括: (1)“登录名”文本框; (2)“姓名”文本框; (3)“移动电话”文本框; (4)“邮箱”文本框; (5)“市”地市选项栏; (6)“区”区县选项栏; (7)“职位”文本框; (8)“部门”文本框; 6.系统管理员在其中录入信息和选择选项。 7.系统管理员点击“保存”按钮,新企业用户添加完成,系统进行操作成功提示; 8.系统自动返回“企业基本信息”页面,用例结束。 |
其他事件流 |
系统管理员在“添加企业用户”页面中点击“取消”和“关闭”按钮,则不添加任何用户,并且系统将自动返回“企业基本信息”页面 |
异常事件流 |
系统管理员提交的数据存在问题,系统进行相应提示,并停留在“用户添加”页面,等待系统管理员重新填写并保存 |
后置条件 |
新企业用户添加到系统中 |
引发异常事件流的条件有以下几项:
(1)用户登录名已存在;
(2)用户登录名没有填写。
3.3 企业用户需求分析
本节将对环境企业表单权限分配填报数据系统中,企业用户视角的主要功能模块进行需求分析,并对相应的核心用例及业务流程进行描述。
3
3.1
3.2
3.3.1 数据填报场景
本系统的企业用户的基表包含封面、企业基本信息、履行环保制度情况、企业生产概况、废水排放情况、废气排放情况、固体废物处理情况、治理设施运行情况、环境应急管理九个表单,每张表单分别要求填报与表单相关的信息。企业的专表由系统管理员添加用户的时候根据其用户的用户角色的分类进行分配专表。例如用户角色为印染厂的用户,系统为其分配一张“印染行业专表”专表;用户角色为石油化工厂的用户,系统为其分配一张“涉VOCs(石化)专表”专表;用户角色为火电厂的用户,系统为其分配一张“火电行业专表”专表。
企业用户在每张表单填报数据时,可以保存数据,方便其分步完成所有表单的填报工作。在填报数据时,页面对需要解释的文本框进行注释提示用户。
用户在完成其基表内所有的表单的填报工作和专表的填报工作后,点击数据上传可以完成其数据填报任务。
其中,企业用户填报数据的用例描述如表格 2所示。
表格 2 企业用户填报数据的用例描述表
用例名称 |
企业用户填报数据 |
参与者 |
企业用户 |
简单描述 |
企业用户根据其分配的填报任务完成填报工作 |
前置条件 |
1.企业用户已进入“环保大检查一企一档”页面 |
基本事件流 |
1.企业用户点击“数据填报”按钮,进入“企业数据填报”页面; 2.页面显示数据填报基表列表,其中包括封面、企业基本信息、履行环保制度情况、企业生产概况、废水排放情况、废气排放情况、固体废物处理情况、治理设施运行情况、环境应急管理九个表单; 3.点击“封面”按钮,进入“环保大检查‘一企一档’表及填报说明”页面,其中包括: (1)“重点源单位名称(盖章)”文本框; |
续表格 2
基本事件流 |
(2)“重点源企业编码”文本框; (3)“法人代表人”文本框; (4)“填表人”文本框; (5)“申报时段”选项框; (6)“申报时间”选项框; 4.企业用户在其中录入信息和选择选项。 5.企业用户点击“保存”按钮,封面信息保存完成,系统进行操作成功提示; 6.点击“企业基本信息”按钮,进入“企业基本信息”页面,其中包括详细地址、地理位置、联系方式、流域去向文本框。根据每个文本框的不同注释填报,重复上述第4个和第5个事件流; 7.企业用户在完成基表九格表单数据填报和其分配的专表的数据填报保存后,左侧有个“企业数据上报”按钮; 9.系统管理员点击“上传”按钮,数据填报完成,系统进行操作成功提示; 8.系统自动返回“数据填报”页面,用例结束。 |
其他事件流 |
系统管理员在“填报数据”任一页面中点击“取消”按钮,则不记录录入的数据,并且系统将自动返回页面未录入数据的情况。 |
异常事件流 |
企业用户的数据存在问题,系统进行相应提示,并停留在填报页面,等待企业用户重新填写并保存 |
后置条件 |
企业用户完成填报数据,上传后在其审核员的审核列表可见“已提交”。 |
引发异常事件流的条件有以下几项:
(1)企业用户录入的数据不符合注释信息;
(2)企业用户有文本框没有录入数据。
(3)有表单的没有保存。
3.4 地方审核员需求分析
本节将对环境企业表单权限分配填报数据系统中,地方审核员视角的主要功能模块进行需求分析,并对相应的核心用例及业务流程进行描述。
3
3.1
3.2
3.4.1 数据回退场景
本系统的地方审核员在历史数据查询中可以浏览所以企业用户的数据填报任务的完成程度,对已完成数据上传提交的用户数据进行审核。对不符合标准的填报进行数据回退,并反馈其回退原因。
地方审核员对填写的表单查看,对不符合了填报注释但是不符合业务逻辑的数据进行要求重新填报。
其中,地方审核员数据回退的用例描述如表格 3所示。
表格 3 地方审核员数据回退的用例描述表
用例名称 |
地方审核员数据回退 |
参与者 |
地方审核员 |
简单描述 |
地方审核员对不和服业务逻辑的数据回退 |
前置条件 |
1地方审核员已进入“环保大检查一企一档”页面 |
基本事件流 |
1.地方审核员点击“数据审核”按钮,进入“企业数据审核”页面; 2.地方审核员点击“历史数据查询”按钮,在点击“审核回退”按钮,进入“审核回退”页面,页面包括企业名称查询和审核数据列表,审核数据列表其中包括企业名称、企业类型、任务名称、下达时间、截止时间和状态。 3.在“企业名称”文本框输入要查看的企业名称,点击“查询”按钮; 4.点击企业名称查看提交的表单详情; 5.关闭表单详情,在这条的左侧的选项框勾选; 6.点击“回退”按钮,系统弹出“审核操作”页面,页面包括以下内容: (1)审核状态; (2)审核意见; (3)审核人电话; 7.地方审核员填写审核操作页面内容,点击“保存”按钮,数据回退完成,系统进行操作成功提示; 8.系统自动返回“审核回退”页面,用例结束。 |
其他事件流 |
系统管理员在“审核操作”页面中点击“取消”按钮,则不回退提交的数据,并且系统将自动返回“审核回退”页面。 |
异常事件流 |
企业用户的数据没有提交,系统进行相应提示,并停留在“审核回退”页面。 |
后置条件 |
企业用户在待办事务可见回退意见。 |
引发异常事件流的条件有以下几项:
(1)企业用户的数据没有提交。
3.5 领域建模
根据上述三个用例分析描绘领域模型,如图4所示。
图 4 系统概念类图
4
4.1 设计系统架构
环境企业表单权限分配填报数据系统采用B/S架构,即浏览器/服务器架构。系统的各模块则采用Web应用项目中常用的MVC模式进行构建。
4
5
5.1
4.1.1 B/S架构设计
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。本系统同样采用了优秀的B/S框架,设计的系统的架构设计如图5所示。
图 5 “环境大检查一企一档”包图
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。②维护和升级方式简单。B/S 结构的软件只需要管理服务器就行了。[11]
4.1.2 基于MVC模式的架构设计
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
本系统采用MVC架构设计,把模型层分为业务层和持久层,总共四层。分层结构很好地满足了系统的可维护性、安全性和稳定性,如图6所示。
图 6 “环境大检查一企一档”包图
在MVC模式中,模型是核心,是系统的数据模型,同时也对系统数据抽象,通过对数据处理模型系统,不关心的具体形式数据存储,而封装在该层系统的业务规则和业务流程。视图是系统为用户提供交互界面。视图是负责受理用户的请求并作简单处理时,业务处理的处理到模型层,而模型层的处理结果被显示给用户。
4.2 用例的实现
本节将分别对系统管理员视角以及企业用户视角的部分功能模块中的典型用例的实现进行描述。
5.2
4.2.1系统管理员用例的实现
在系统管理员添加企业用户的用例中,通过Spring Servlet来处理页面的请求,用户发送请求——>DispatcherServle,再HandlerMapping将会把请求映射为HandlerExecutionChain对象,DispatcherServlet——>HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;在业务处理相关的方法中,读取企业名录的现有的用户,获取userid(),在登录名不重复的情况可以把新的用户更新到企业名录下addUserinfoDao.update(addUserinfo)。View会根据传进来的Model模型数据进行渲染,返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。
用例的时序图如图7所示。
图 7 系统管理员添加企业用户用例时序图
4.2.2 企业用户用例的实现
从页面的请求到处理类的途径和上面的系统管理员的途径相同。在处理类中,通过超类的findPage(page, firmBasicinfo)加载页面表单。请求保存数据时通过saveFirmBasicinfo方法,保存表单数据。在通过cpdFirmBasicinfoChildDao.saveChildList(list)加载到当前的页面上。
用例的时序图如图8所示。
图 8 企业用户填报数据用例时序图
4.2.3 地方审核员用例的实现
从页面的请求到处理类的途径和上面的系统管理员的途径相同。在处理类中,通过findList(String companyid,String issuedstate)加载页面表单。请求数据回退通过insertCpdTaskFlowlog()方法。再通过insertOrUpdate()加载到当前的页面上。
用例的时序图如图9所示。
图 9 地方审核员数据回退用例时序图
4.3 数据库设计
本节将分别对系统的数据库的关联表单的设计进行说明,数据库内各表之间的关联关系有ER图展示,系统的内具体建表由表格展示。
系统的ER图如图10所示。
图 10 系统数据库ER图
根据上述ER图,设计数据表的清单如下所示:
企业用户的模型根据实体关系构建,包含的键值如表格4所示。
表格 4 企业用户数据表cpd_userinfo
主键/外键 |
字段 |
类型 |
字段说明 |
|
id |
varchar(36) NOT NULL |
用户编码 |
|
eid |
varchar(36) NULL |
企业编码 |
主键 |
uid |
varchar(100) NULL |
用户登录名 |
|
name |
varchar(50) NULL |
姓名 |
|
passwd |
varchar(100) NULL |
密码 |
|
mobile |
varchar(100) NULL |
移动电话 |
|
|
varchar(100) NULL |
电子邮箱 |
|
weixin |
varchar(45) NULL |
微信号 |
续表格 4
|
keyid |
varchar(30) NULL |
数字证书编码 |
|
logo |
varchar(300) NULL |
头像 |
|
roletype |
varchar(36) NULL |
角色类型 |
|
regionid |
varchar(12) NULL |
行政区划 |
|
district |
varchar(50) NULL |
区 |
|
city |
varchar(50) NULL |
市 |
|
level |
varchar(50) NULL |
级别 |
|
usertype |
int(11) NULL |
用户类型(1:环保用户, 2:企业用户) |
|
title |
varchar(100) NULL |
职位 |
|
department |
varchar(300) NULL |
部门 |
|
ounit |
varchar(300) NULL |
单位 |
|
sortorder |
varchar(45) NULL |
排序 |
|
epicid |
varchar(60) NULL |
环保编码 |
|
status |
varchar(36) NULL |
状态 |
|
ldapsync |
varchar(36) NULL |
LDAP同步 |
|
enabled |
varchar(36) NULL |
有效 |
|
usrid |
varchar(36) NULL |
用户 |
|
utime |
datetime NULL |
更新时间 |
系统用户的模型根据实体关系构建,包含的键值如表格5所示。
表格 5 系统用户数据表sys_user
主键/外键 |
字段 |
类型 |
字段说明 |
主键 |
id |
varchar(64) NOT NULL |
编号 |
|
company_id |
varchar(64) NOT NULL |
归属公司 |
|
office_id |
varchar(64) NOT NULL |
归属部门 |
|
login_name |
varchar(100) NOT NULL |
登录名 |
|
password |
varchar(100) NOT NULL |
密码 |
|
no |
varchar(100) NULL |
工号 |
|
name |
varchar(100) NOT NULL |
姓名 |
|
|
varchar(200) NULL |
邮箱 |
|
phone |
varchar(200) NULL |
电话 |
|
mobile |
varchar(200) NULL |
手机 |
|
user_type |
char(1) NULL |
用户类型 |
|
photo |
varchar(1000) NULL |
用户头像 |
|
login_ip |
varchar(100) NULL |
最后登陆IP |
|
login_date |
datetime NULL |
最后登陆时间 |
|
login_flag |
varchar(64) NULL |
是否可登录 |
|
create_by |
varchar(64) NOT NULL |
创建者 |
续表格 5
|
create_date |
datetime NOT NULL |
创建时间 |
|
update_by |
varchar(64) NOT NULL |
更新者 |
|
update_date |
datetime NOT NULL |
更新时间 |
|
remarks |
varchar(255) NULL |
备注信息 |
|
del_flag |
char(1) NOT NULL |
删除标记 |
企业基本信息的模型根据实体关系构建,包含的键值如表格6所示。
表格 6 企业基本信息数据表cpd_company_baseinfo
主键/外键 |
字段 |
类型 |
字段说明 |
|
id |
int(12) NOT NULL |
|
主键 |
CompanyID |
varchar(50) NULL |
企业ID |
|
CompanyName |
varchar(255) NULL |
企业名称 |
|
OrganizingCode |
varchar(255) NULL |
组织机构代码 |
|
ICBLRNumber |
varchar(50) NULL |
工商营业执照注册号 |
|
Province |
varchar(12) NULL |
省(自治区、直辖市) |
|
Area |
varchar(12) NULL |
地区(市、州、盟) |
|
County |
varchar(12) NULL |
县(区、市、旗) |
|
OuntrySide |
varchar(12) NULL |
乡(镇) |
|
Street |
varchar(12) NULL |
街(村)、门牌号 |
|
IndustryType |
varchar(8) NULL |
所属行业,行业类型 |
|
ScaleCode |
int(11) NULL |
企业规模(1 大型,2 中型,3 小型,4 微型) |
|
WasteWaterOutNO |
varchar(100) NULL |
废水排放口数量 |
|
WasteWaterOutFw |
varchar(100) NULL |
废水各排放口流量(升/秒) |
|
exhaustGasOutNO |
varchar(100) NULL |
废气排放口数量 |
|
WasteWaterOutHt |
varchar(100) NULL |
废气各排放口高度(米) |
|
CreateDate |
datetime NULL |
创建时间 |
|
TaskId |
int(11) NULL |
任务ID |
待办事务任务的模型根据实体关系构建,包含的键值如表格4所示。
表格 7 待办事务任务数据表cpd_task_flow
主键/外键 |
Field |
Type |
Comment |
|
id |
int(12)NOTNULL |
|
|
taskid |
int(8) NULL |
任务id |
|
taskname |
varchar(100) NULL |
企业填报提醒名称 |
|
companyid |
varchar(50) NULL |
企业id |
|
industrycate |
varchar(255) NULL |
行业类别 |
|
taskbegindate |
datetime NULL |
下达时间 |
|
taskenddate |
datetime NULL |
填报截止时间 |
续表格 7
|
issuedstate |
varchar(255) NULL |
调查任务下发状态 0:未下达 1:已下达 |
|
reportingstatus |
varchar(255) NULL |
企业填报状态 0:未提交 1:审核中 2:审核通过 3:区县审核退回 4:地市审核退回 5:省级审核退回 |
|
districtaudit |
varchar(255) NULL |
区级审核状态 0:待审核 1:审核通过 2:回退 |
|
municipalaudit |
varchar(255) NULL |
市级审核状态 0:待审核 1:审核通过 2:回退 |
|
provincialaudit |
varchar(255) NULL |
省级审核状态 0:待审核 1:审核通过 2:回退 |
|
createdate |
datetime NULL |
调查任务创建时间 |
|
checktabelid |
varchar(32) NULL |
检查表id |
|
userid |
varchar(64) NULL |
下达用户id |
5
5.1 系统管理员功能模块的实现
本节将选取环境企业表单权限分配填报数据系统中系统管理员的主要功能模块,对实现过程进行描述,并展示相应的用户界面。
6
6.1
5.1.1 企业用户的添加
类AddBaseinfoService是用于添加用户的整合类,其中包括了与企业用户添加相关的实例方法。
表格 8 系统管理员模块目录中的AddBaseinfoService类的方法说明
方法 |
用途 |
参数 |
findList(addBaseinfo) |
按关键词查询企业 |
企业名录 |
save(addBaseinfo) |
保存添加的企业用户 |
企业名录 |
update(addBaseinfo) |
用户添加到对应的企业名录,更新对应企业的用户信息 |
企业名录 |
其中,save(addBaseinfo)方法的核心部分算法流程描述如图11所示。
图 11 save(addBaseinfo)方法核心部分算法流程图
“添加企业用户”界面如图12所示。系统管理员可通过该界面对企业名录添加用户,则可以进入“企业基本信息”界面查看和修改企业用户,如图13所示。
图 12 “添加企业用户”界面
图 13 “查看企业名录信息下的用户”界面
5.2 系统功能模块的实现
功能权限控制应用在以下场景:访问功能授权,查看权限,审核权限。
5.2.1 给方法添加权限标志
@RequiresPermissions("sys:submodule:user:view")
@RequiresUser
5.2.2 菜单中设置权限标志。
5.2.3 判断权限:
SecurityUtils.getSubject().isPermitted("sys:user:edit");
5.2.4 视图中控制按钮(shiro.tld):
5.3 企业用户填报功能模块的实现
本节将选取环境企业表单权限分配填报数据系统中企业洪湖的主要功能模块,对实现过程进行描述,并展示相应的用户界面。
7
7.1
5.3.1 企业用户的填报数据
类FirmBasicinfoService是用于添加用户填报数据的整合类,其中包括了与企业用户填报数据相关的实例方法。
表格 9 企业用户模块中的FirmBasicinfoService类的方法说明
方法 |
用途 |
参数 |
saveFirmBasicinfo(list, firmBasicinfo) |
保存企业信息的更新信息 |
需要更新基本信息,企业基本信息 |
updateFirmBasicinfo(updateList, firmBasicinfo) |
更新到企业信息的列表 |
更新基本信息列表,企业基本信息 |
getFirmBasicinfoChildList(companyid) |
获取子表 |
企业ID |
“企业用户填报数据”界面如图14所示。企业用户可通过该界面对企业的待办的填报数据进行填写和保存,如图15所示。
图 14 “填报数据保存”界面
图 15 “查看企业名录信息下的用户”界面
6.1 系统的部署
环境企业表单权限分配填报数据系统的架构设计的确定已经极大的方便的系统的部署和应用。系统的部署图如图16所示。
图 16 系统部署图
系统部署的具体步骤如下:
1.运行Maven目录下的settings.bat文件,用来设置maven仓库路径,并按提示操作(设置PATH系统变量、配置Eclipse)。
2.配置MySQL数据库,设置数据源:src/ main/ resources/ jeesite.properties
3.配置Server(Tomcat)作为发布的web服务器。
4.系统内安装浏览器,要求是现代浏览器,本系统对IE6和IE8下,页面显示受影响。
5.访问工程:http://localhost:8080/ScpsPlatForm_A/a?login 用户名:admin 密码:admin。此用户名和密码为系统管理用户。
6.2 文件结构
本节将对系统中的主要文件夹进行说明以介绍系统的代码结构。
6.2.1源码目录
在src/ main/ java/ com/ suncompass/ systems 目录中,主要编写有关系统业务层和控制层的代码。其中common/ 目录中编码有关Spring对象类和Bean实体类定义和实现,MyBatis的数据持久层在persistence/ 目录下定义。modules/ 目录下有针对系统的实体类的定义与实现,在interceptor/ 目录下有数据访问层的相关类。其中详细的目录配置如表格10所示。
表格 10 源码目录
src.main.java.com.suncompass.systems |
系统业务层和控制层 |
├ common |
公共模块存放目录 |
│├ beanvalidator |
实体Bean验证相关类 |
│├ mapper |
各种Object到Xml、Object到Json的映射转换类 |
│├ persistence |
持久层相关类 |
│├ security |
安全相关类 |
│├ service |
业务层相关类 |
│├ servlet |
公共servlet相关类 |
│├ utils |
各种操作小工具类 |
│└ web |
模型控制器层相关类 |
└ modules |
JeeSite内置功能模块存放目录 |
├ act |
Activiti工作流引擎目录 |
├ cms |
内容管理模块目录 |
├ gen |
Web版本代码生成器目录 |
├ sys |
系统核心模块存放目录 |
│├dao |
系统数据访问层相关类 |
│├entity |
系统实体相关类 |
│├ interceptor |
系统模块拦截器相关类 |
│├ service |
系统业务处相关类 |
│├ web |
系统模型控制器层相关类 |
│├ utils |
系统模块的工具类 |
└ cpd |
企业用户核心模块存放目录 |
├dao |
数据访问层相关类 |
├entity |
实体相关类 |
├ service |
系统业务处相关类 |
└ web |
系统模型控制器层相关类 |
6.2.2 数据资源目录
在src/ main/ resource目录中,主要编写有关数据源的系统配置和日志配置,针对不同的数据库来源有简单的配置和缓存配置,其中针对Spring的数据访问要加入相关文件。其中详细的目录配置如表格11所示。
表格 11 数据资源目录
src.main.resource |
|
├act |
Activiti工作流引擎相关文件(部署文件、bpmn) |
├cache |
Ehcache缓存配置存放目录 |
├mappings |
Mybatis Sql映射文件存放目录 |
├jeesite.properties |
系统配置属性文件 |
├spring-*.xml |
Spring相关文件 |
└log4j.properties |
Log4j日志配置属性文件 |
6.2.3 发布目录
在src/ main/ webapp/ 目录下存放网页渲染的脚本是视图文件,在WEB-INF目录下存放请求映射的视图布局和素材文件。
表格 12 Web服务器发布目录
src.main.webapp |
|
├static |
静态文件存放目录(JS、CSS、前端插件类库等) |
├└ compressor.bat |
JavaScrpt和CSS文件压缩脚本 |
├ userfiles |
用户上传文件目录 |
└ WEB-INF |
WEB应用安全目录,通过映射访问相关文件。 |
├├ tags |
Tags标签存放目录 |
├├ views |
视图文件目录 |
│├ error |
系统异常映射相关页面 |
│├ include |
视图相关包含文件 |
│├ layouts |
视图布局相关文件 |
│└ modules |
内置核心功能模块视图相关文件 |
│ ├ act |
Activiti模块视图相关文件 |
│ ├ cms |
内容管理模块视图相关文件 |
│ ├ gen |
代码生成模块视图相关文件 |
│ └ sys |
系统管理模块视图相关文件 |
├ ckfinder.xml |
CKfinder配置文件 |
├ decorators.xml |
Decorator配置文件 |
└ web.xml |
Web配置文件 |
6.3 系统运行结果
6.3.1 系统管理员的界面
系统管理员在系统的权限是很全的,可以管理系统用户和企业用户,可以对系统设置,可以测试填报数据以及审核数据。其登录系统的页面如图17所示。
图 17 系统管理员页面
6.3.2 企业用户的界面
企业用户在登录系统可见待办事务模块和数据填报模块,根据任务完成数据填报和上传工作。其登录系统的页面如图18所示。
图 18 企业用户页面
6.3.3 地方审核员的界面
地方审核员在系统中可以待办事务和数据审核模块,其可以统计填报进度、设置填报任务、审核数据决定是否回退数据。其登录系统的页面如图19所示。
图 19 地方审核员页面
7.1 总结
本文是在结合众多开源框架的一项贴近生活和工作的实例项目,系统的设计几乎完成了立项时的目的。本文的环境信息化的管理系统,不仅优化了系统的业务和数据分离的开发矛盾,还为同行业的开发提供了一次不错的整合的应用。
本文的主要工作有:
(1)总结了环境信息化趋势的时代下,同比对系统的开发的还可以做到更加有效和安全。而且这是不仅方便办公的业务系统,还可以把技术很好地应用到其他领域。
(2)使用MVC框架思想对本文所设计的系统进行架构设计。通过Spring整合MyBatis和Activit以及Bootstrap,完成了持久层的数据访问到容器管理各层的组件,使各个技术通力合作的为一个系统协作。
(3)在系统的建立业务时,充分的调研实际需求,提炼使用频率极高的用例,并且结果业务逻辑,实现了系统的多元和稳定。实现了用户管理、角色管理、数据填报、数据审核及待办事务管理的多个功能。为系统的用户提供了一个可以继续扩展的优秀的系统框架的实例。
7.2 展望
由于开发的有些需要去试错,系统的开发的工作的进展还是可以在详细了解各种框架后进一步提升,具体如以下几点:
1. 随者移动互联网的迅速发展,手机和平板等小尺寸的屏幕的办公成为一种诉求就是一种极大的需求。本文使用了;流行的Bootstrap框架但是没有做优化,在小屏幕的体验不是很好。
2. 系统的可移植性很强,可以考虑移植到类似的业务填报中继续发挥余热,也就需要根据新的需求和业务修改基于相同框架设计的系统。
3. 系统的可以添加的功能还用很多,根据需求添加一些实用的比如待办事务的手机短信的绑定可以有利于事务的提醒,比如用户自定义表单来节省开发成本等。
[1] 陆炜.环境信息化建设发展思路初探[C].2011中国环境科学学会学术年会论文集,2011,第三卷:648-651.
[2] Zhang Xianzhi, Cui Ying.An Innovative System of Internal Reports based on Capital Operation Mode in Chinese Enterprises[C].第七届(2015)金融风险与公司金融国际研讨会论文集,2015.
[3] 韩德帅,杨启亮,邢建春.一种软件自适应UML建模及其形式化验证方法[C].软件学报,2015,2015年04期:730-746.
[4] 施杰,唐秀英,张毅杰,施骏.基于Web的设备管理系统UML建模[N].云南农业大学学报(自然科学),2013,2013年01期:145-150.
[5] Johnson R.Spring Framework Reference Documentation[EB/OL].http: / /www.spring-framework.org / do- cumentation,2014-08.
[6] 李洋,孙永维,许冰,王英双.基于Ajax,Struts,Hibernate和Spring的J2EE架构[N].吉林大学学报(信息科学版),2011,2011年06期:576-584.
[7] 黎吾鑫,王新.基于Extjs+Spring MVC的Web系统框架及应用研究[N].云南农业大学学报(自然科学),2013,2013年S2期:110-115.
[8] 荣艳冬.关于Mybatis持久层框架的应用研究[J].信息安全与技术,2015,2015年12月:86-88.
[9] K.Siva Prasad Reddy.Java Persistence with MyBatis 3[M].Birmingham:Packt Publishing, 2013.
[10] 杨运平,吴智俊.Apache Shiro安全框架在技术转移服务系统中的应用[J].计算机与现代化,2014,2014年03期:158-160.
[11] 李云云.浅析B/S和C/S体系结构[J].科学之友(Friend of Science Amateurs),2011,2011年01期:6-8.
感谢我的父母对我的教育的支持和鼓励。感谢我的导师衣杨副教授的指导和教育,老师不仅给予了学术上的知识,还努力用言传身教的方式教育同学在社会上的为人处事之礼。感谢广东新康博思信息科技有限公司提供的数据支持,感谢实习的同事的指教和帮助,包括陈慧灿、吴亚洲、符绳鹏、陈红,有他们的帮助和辅导,提供我解决问题的方法。感谢同学们讨论总结的纲要,感谢身边的人的帮助和支持。
毕业论文(设计)成绩评定记录
Grading Sheet of the Graduation Thesis (Design)
指导教师评语 Comments of Supervisor: 本文设计实现了一个环境企业表单权限分配填报数据系统,作者首先广泛阅读了相关资料,调研对比企业信息管理系统,基于面向对象方法论,选用了合适的设计模式和设计原理及基于组件的开发技术完成了框架的应用整合与实现任务,并以框架的业务为例展示了功能的单元测试的过程。完成了软件生命周期中的需求、设计、实现、测试四个主要阶段的任务。
本文内容比较充实,技术路线基本合理,表达基本规范 成绩评定 Grade:
指导教师签名 Supervisor Signature : Date: |
答辩小组或专业负责人意见 Comments of the Defense Committee:
成绩评定 Grade:
签名(章): Date: Signatures of Committee Members(Stamp) |
院系负责人意见 Comments of the Academic Chief of School:
成绩评定 Grade:
签名(章) Signature(Stamp): Date: |