admin 管理员组文章数量: 1086019
2024年1月13日发(作者:linux 查看存储空间)
摘要
摘要
随着互联网技术的不断发展,互联网思维结合计算机技术对当前各个行业的工作方式与方法都产生了极为深刻的影响,尤其是在政务领域。作为我国政务人员与组织管理的主要方式,党建系统当前的发展也在经受着互联技术的改变。原始的党务系统的文件分发、逐级学习、人工管理党建资料的方式不再适合当前政务领域高效率的要求,急需利用新技术实现党建系统中组织信息、人员信息以及文件资料的在线管理。因此,利用计算机技术实现党务党建系统的信息化、自动化势在必行。
为解决当前税务系统中党建党务管理的需求,本文设计并实现了基于C/S架构的党建信息管理系统。首先,本文调研了在系统建设中可能使用的相关理论及技术,并进行了详细阐述,包括C/S架构、SpringMVC、SQL Server数据库以及Nginx反向代理等技术。其次,针对当前地税局自身的组织特点和需求,了解系统中党建工作的组织方式和组织流程,采集系统的详细需求,识别系统中的参与者与系统边界,给出用例图及每一个用例的详细描述和数据建模工作,从而完成平台的需求分析与建模。在需求分析的基础上,结合党建系统当前的安全性需求,采用内外网分离的原则,给出系统的网络架构图。再次,基于SpringMVC框架和Nginx反向代理技术,实现基于三层架构模型的、多服务节点的高可用党务系统服务端。而后在系统功能分解图的指导下,按照自顶向下的原则,对党建系统的各个子模块进行详细设计和实现,并以流程图、类图和时序图的形式对各个模块进行描述。再者,利用需求分析阶段数据建模部分的成果,设计了党务系统数据库的物理结构,以表格的形式给出各个字段的限制和说明。
在完成党务系统的建设之后,对系统实施全面、详细的测试。首先给出包括硬件环境、软件环境等在内的测试环境配置,编写测试用例,按照子模块的划分对系统的功能性模块进行详细测试。确保功能无误之后,对包括性能、可操作性以及易用性等指标进行详细测试。测试结果表明当前党建系统满足党务建设的基本要求,实现了党组织信息管理、党员信息管理、党建资料管理以及上下级间数据传递的需求,有效提升了当前党建系统自我管理的效率,实现了党务工作的信息化、自动化,极好的辅助了当前税务领域内的党建工作的进行。
关键词:税务,党建,党员,党组织,管理系统
I
ABSTRACT
ABSTRACT
With the continuous development of Internet technology, Internet thoughts together
with computer technology has had a very profound impact on the current work of various
industries and methods, especially in the field of government affairs . As the main way of
our government servants and the management methods, the current development of the
Party building system is also being changed. The original document distribution and
manual management of information is no longer suitable for the current requirements for
the efficient works. The need to achieve Party information, personal information and files
in Party Building system with new technologies, becomes more and more urgent.
Therefore, the use of computer technology to achieve the automatic of the party building
system is imperative.
In order to solve the demand of party building management in the current tax system, this
article designs and realizes the party building information management system based on
C/S architecture. First of all, this paper has investigated the relevant theories and
techniques which may be used in system construction, and elaborates them, including C/S
architecture, SpringMVC, SQL Server database and Nginx reverse proxy technology.
Secondly, according to the organizational characteristics and the needs of the current local
tax bureaus, we figure out understand the organization process of the party building work
in the system, and then collect the detailed requirements of the system, identifying the
participants and the system boundary, giving the use case diagram in the stage of modeling
work. On the basis of demand analysis, combined with the current security requirements of
the party building system, the principle of internal and external network separation is used
to give the network architecture of the system. Thirdly, based on the SpringMVC
framework and Nginx reverse proxy technology, a high availability party service server
based on the three-tier architecture model and multi-service node is realized. Then, under
the guidance of the system functional decomposition diagram, the sub-modules of the
Party building system are designed and implemented in accordance with the principle of
top-down, and the modules are described in the form of class diagrams and timing
diagrams. In addition, the physical structure of the Party system database is designed by
using the results of the modeling part of the demand analysis phase.
III
西安电子科技大学硕士学位论文
After the completion of the construction of the party system, detailed test is carried out.
First of all, the hardware environment, software environment and test cases are prepared
before the system is tested. After that we ensure the functions are as excepted, performance
and operability of the system is tested. The test results show that the current party building
system meets the basic requirements, and realizes the demand of party organization
information management, party member information management, party building data
management and data transmission between upper and lower levels, which effectively
improves the efficiency of self-management.
Keywords: Tax, Party Building, P,arty Member, Party Organization ,Management System
IV
插图索引
插图索引
图2.1 C/S典型架构图 .................................................................................................. 5
图3.1 系统用例图 ...................................................................................................... 12
图3.2 党组织管理用例活动图 .................................................................................. 15
图3.3 民主评议活动图 .............................................................................................. 16
图3.4 党员管理活动图 .............................................................................................. 18
图3.5 党费收缴活动图 .............................................................................................. 20
图3.6 报表材料管理管理活动图 .............................................................................. 21
图3.7 系统实体关系图 .............................................................................................. 22
图4.1 平台网络架构图 .............................................................................................. 25
图4.2 系统逻辑架构 .................................................................................................. 26
图4.3 党建管理系统功能分解图 .............................................................................. 28
图4.4 数据库的物理结构图 ...................................................................................... 29
图4.5 党组织管理模块类图 ...................................................................................... 36
图4.6 党组织管理序列图 .......................................................................................... 37
图4.7 民主评议模块类图 .......................................................................................... 38
图4.8 民主评议模块序列图 ...................................................................................... 39
图4.9党员管理模块类图 ........................................................................................... 40
图4.10 党员管理序列图 ............................................................................................ 40
图4.11 党费缴纳模块类图 ........................................................................................ 41
图4.12 党费收缴模块序列图 .................................................................................... 42
图4.13报表材料管理模块类图 ................................................................................. 43
图4.14报表材料管理模块序列图 ............................................................................. 43
图5.1 PC客户端主界面 ............................................................................................. 46
图5.2 党组织信息录入界面 ...................................................................................... 48
图5.3 录入后党组织信息 .......................................................................................... 48
图5.4 党组织详细信息 .............................................................................................. 48
图5.7 初始加载党员列表截图 .................................................................................. 51
图5.8 党员录入类别选择界面 .................................................................................. 52
图5.9 党员信息录入界面 .......................................................................................... 52
图5.10 党员信息导出界面 ........................................................................................ 53
图5.11 按类别搜索报表截图 .................................................................................... 54
V
西安电子科技大学硕士学位论文
图5.12 党员信息详细查询界面 ................................................................................ 54
图5.13 报表打印界面 ................................................................................................ 54
图5.14报表属性修改界面 ......................................................................................... 55
图5.15 党费缴费基数变更截图 ................................................................................ 56
图5.16 收缴党费登记表截图 .................................................................................... 56
图5.17 党费缴交情况查询截图 ................................................................................ 56
图5.18 系统响应时间图 ............................................................................................ 58
图5.19 用户并发数测试图 ........................................................................................ 59
图5.20 系统吞吐量测试图 ........................................................................................ 60
图5.21 系统身份检查测试截图 ................................................................................ 60
图5.22 用户输入信息检查测试截图 ........................................................................ 61
图5.23 SQL Server自动备份设置 ............................................................................. 61
图5.24 系统易用性测试截图 .................................................................................... 62
VI
表格索引
表格索引
表2.1 关系型数据库存储模型 .................................................................................... 8
表3.1 党组织管理用例表格 ...................................................................................... 14
表3.2 民主评议用例表格 .......................................................................................... 16
表3.3 党员管理用例表格 .......................................................................................... 17
表3.4 党费收缴用例表格 .......................................................................................... 19
表3.5报表材料管理用例表格 ................................................................................... 20
表3.6 系统数据建模实体表 ...................................................................................... 22
表4.1数据库表简介 ................................................................................................... 30
表4.2 党员评议表字段说明 ...................................................................................... 30
表4.3 党费缴纳记录表字段说明 .............................................................................. 31
表4.4 党费基数表字段说明 ...................................................................................... 31
表4.5 变更日志表字段说明 ...................................................................................... 31
表4.6 操作日志表字段说明 ...................................................................................... 32
表4.7 党员信息表字段说明 ...................................................................................... 32
表4.8 会议记录表字段说明 ...................................................................................... 32
表4.9 权限表字段说明 .............................................................................................. 33
表4.10 管理员信息表字段说明 ................................................................................ 33
表4.11 党组织信息表字段说明 ................................................................................ 33
表4.12 引擎信息表字段说明 .................................................................................... 34
表4.13 报表类型表字段说明 .................................................................................... 34
表4.14 错误日志表字段说明 .................................................................................... 34
表4.15 报表说明表字段说明 .................................................................................... 35
表5.1 系统硬件环境 .................................................................................................. 45
表5.2 系统软件环境 .................................................................................................. 46
表5.3 党组织管理测试用例 ...................................................................................... 47
表5.4民主评议管理模块测试用例 ........................................................................... 49
表5.5 党员信息管理模块测试用例 .......................................................................... 51
表5.6 报表材料管理测试用例 .................................................................................. 53
表5.7 党费收缴管理测试用例 .................................................................................. 55
表5.8 系统请求类别说明表 ...................................................................................... 57
VII
符号对照表
符号对照表
符号 符号名称
ms 毫秒
IX
缩略语对照表
缩略语对照表
缩略语
B/S
C/S
MVC
loC
AOP
UML
ERD
PC
RT
QPS
CU
SQL
JSON
RDBMS
英文全称
Brower/Server
Client/Server
Model-View-Controller
Inversion of Control
Aspect Oriented Programming
Unified Modeling Language
Entity-Relationship-Diagram
Personal Computer
Response Time
Queries Per Second
Concurrent Users
Structured Query Language
JavaScript Object Notation
Relational Database Management
System
XI
中文对照
浏览器/服务器
客户端/服务器
视图-模型-控制器
控制反转技术
面向切面编程
统一建模语言
实体关系图
个人电脑
系统响应时间
系统吞吐量
用户并发数
结构化查询语言
对象表示法
关系型数据库管理系统
目录
目 录
摘要 ........................................................................................................................................ I
ABSTRACT ...................................................................................................................... III
插图索引 .............................................................................................................................. V
表格索引 ........................................................................................................................... VII
符号对照表 ......................................................................................................................... IX
缩略语对照表 ..................................................................................................................... XI
目 录 .............................................................................................................................. XIII
第一章 绪论 ......................................................................................................................... 1
1.1
选题背景及意义 ......................................................................................................... 1
1.2
国内外现状分析 ......................................................................................................... 2
1.3
论文工作内容 ............................................................................................................. 2
1.4
论文组织结构 ............................................................................................................. 3
第二章 相关理论及技术 ..................................................................................................... 5
2.1
C/S架构 ....................................................................................................................... 5
2.2
SPRINGMVC框架 ........................................................................................................ 6
2.2.1 IoC控制反转 ........................................................................................................ 6
2.2.2 AOP面向切面编程 .............................................................................................. 6
2.2.3 Spring MVC .......................................................................................................... 7
2.3
反向代理与负载均衡 ................................................................................................. 7
2.4
SQL
SERVER
数据库 .................................................................................................... 8
2.4.1 关系型数据库 ...................................................................................................... 8
2.4.2 事物隔离级别 ...................................................................................................... 9
2.5
本章小结 ................................................................................................................... 10
第三章 系统需求分析 ....................................................................................................... 11
3.1
系统总体分析 ........................................................................................................... 11
3.2
系统需求分析 ........................................................................................................... 11
3.2.1 党组织管理用例分析 ........................................................................................ 13
3.2.2 民主评议用例分析 ............................................................................................ 15
3.2.3 党员管理用例分析 ............................................................................................ 17
3.2.4 党费收缴用例分析 ............................................................................................ 18
3.2.5 报表材料管理用例分析 .................................................................................... 19
XIII
西安电子科技大学硕士学位论文
3.3系统数据建模 ........................................................................................................... 21
3.4非功能性需求分析 ................................................................................................... 23
3.4.1 性能需求 ............................................................................................................ 23
3.4.2 安全性需求 ........................................................................................................ 23
3.4.3 易用性 ................................................................................................................ 24
3.5
本章小结 ................................................................................................................... 24
第四章 系统设计与实现 ................................................................................................... 25
4.1
系统架构设计 ........................................................................................................... 25
4.1.1 系统网络结构设计 ............................................................................................ 25
4.1.2 系统逻辑结构设计 ............................................................................................ 26
4.2
系统功能分解 ........................................................................................................... 27
4.3
数据库设计 ............................................................................................................... 29
4.4
系统功能模块设计与实现 ....................................................................................... 35
4.4.1 党组织管理功能的设计与实现 ........................................................................ 35
4.4.2 民主评议功能的设计与实现 ............................................................................ 38
4.4.3 党员管理功能的设计与实现 ............................................................................ 39
4.4.4 党费收缴管理功能的设计与实现 .................................................................... 41
4.4.5 报表材料管理功能的设计与实现 .................................................................... 42
4.5
本章小结 ................................................................................................................... 44
第五章 系统测试及分析 ................................................................................................... 45
5.1
系统测试环境 ........................................................................................................... 45
5.2
系统功能性测试 ....................................................................................................... 46
5.2.1 党组织管理功能测试 ........................................................................................ 46
5.2.2 民主评议功能测试 ............................................................................................ 49
5.2.3党员管理功能测试 ............................................................................................. 50
5.2.4报表材料管理功能测试 ..................................................................................... 53
5.2.5党费收缴管理功能测试 ..................................................................................... 55
5.3
系统非功能性测试 ................................................................................................... 57
5.3.1 系统响应时间测试 ............................................................................................ 57
5.3.2 并发用户数测试 ................................................................................................ 59
5.3.3 系统吞吐量测试 ................................................................................................ 59
5.3.4 系统安全性测试 ................................................................................................ 60
5.3.5 系统易用性测试 ................................................................................................ 61
5.4
本章小结 ................................................................................................................... 62
XIV
目录
第六章 结束语 ................................................................................................................... 63
6.1
论文工作总结 ........................................................................................................... 63
6.2
后续工作展望 ........................................................................................................... 64
参考文献 ............................................................................................................................. 65
致谢 ..................................................................................................................................... 67
作者简介 ............................................................................................................................. 69
XV
第一章 绪论
第一章 绪论
本章主要对税务工作领域中党建系统建设的选题背景、所具有的意义以及工作内容进行说明,重点分析当前党建系统的背景、发展现状、建设要求等。最后,给出本文的章节结构。
1.1 选题背景及意义
随着计算机技术和互联网概念的逐渐深入人心,“互联网+”的概念不断演进,并逐渐改变各个行业的发展现状,尤其是对于传统行业具有颠覆性的影响,互联网与计算机技术在政务和税务领域的影响也在不断加深[1],尤其是伴随着“金税工程”三期的实施。而在税务领域,党建系统又是重中之重的一个模块。因此,通过分析税务领域中党建系统自身的特点、需求和建设要求,分析设计并实现一套行之有效的党建系统具有十分重要的意义。同时,通过税务系统中党建工作的有序推进,不断确保当前税务队伍的党性和先进性,才能够不断实现税务革新,从而有效保证国家财政稳定、经济繁荣发展。
通过分析当前党务建设领域的特点和需求,了解当前党建系统尤其是税务党建系统的建设要求[2],发现当前党建系统具有以下特点和需求:
(1)当前党建系统发展模式逐渐开放,功能逐渐增强和完善,不再是以前简单的单机版的登记、通知模式,而是逐渐向分布式、多角色、多部门融合的方向发展。
(2)当前党建系统在功能上的覆盖逐渐完善,逐渐涵盖了党组织管理、民主评议、党员管理、信息查询等多种功能,与当前组织内尤其是税务组织的组织形式相契合[3]。
(3)当前党建系统在建设过程中逐渐重视信息安全方面的要求,要求党建系统从系统架构、信息交互方式等方面进行革新,在发展的同时保证党建系统自身信息的安全可靠[4]。
(4)当前党建系统在建设过程中开始侧重对可扩展性等方面的考量,需要系统自身在架构选型上需要具有易于扩展,方便维护等特性,这些要求对党建系统架构的选型提出了较高的要求[5]。
基于以上发展背景、领域需求以及建设要求,建设契合税务领域需要的、功能全面可扩展的、符合信息安全规范的党建系统显得尤为重要,通过党建系统实现组织内党务信息的统一管理,可有效提高组织内党建工作的效率,为组织内日常工作的有效开展,税务队伍自身素质的提升提供有力保障。选题具有十分明显且重要的应用价值。
1
西安电子科技大学硕士学位论文
1.2 国内外现状分析
我国税务领域的党务系统建设大致经过了三个阶段。
(1)党内建设,党外宣传阶段。在最初信息化技术还未完全普及的情况下,主要是在大的党委组织内建设内部网络,然后对外处理业务和宣传仍然使用的纸质材料、手手相传、口口相传[6]。
(2)随着互联网应用逐步普及和推广,2002年,国家信息化领导小组提出“党的工作业务系统建设”的指导性意见,使得从着一阶段开始,党建系统建设从内部网、组织内的办公自动化转向为综合性内外网、远程办公转型[7]。
(3)在党的十七大召开之后,网络化、信息化成为党务系统建设的全新要求,各个基层组织纷纷结合自身需求和组织结构特点,对党建系统进行了很对积极的尝试,例如程辉等人[8]尝试建设的太原科技大学党建系统以及刘永江[9]等人建设的政法组织内的党建管理系统等等。
受益于计算机技术的优先发展,国外对党建方面的尝试开始于二十世纪七八十年代,电子信息技术的快速发展推动欧美国家政党在自身党务系统建设方面不断取得进展。
西方政党通过计算机技术,将技术创新与自身的政治理念与行为方式相结合,探索电子化党务建设[10]。西方国家的很多政党都是较早建立政党网站的党组织,他们利用网络的敏捷化,全面、迅速地向大家介绍政党的工作情况[11],在竞选期间,利用政党网站包装和宣传各党的参选人员,分享党政成果等。
综合看来,目前的党务系统建设主要集中在各自独特的组织架构下,通过计算机技术显示组织内人员管理、信息管理、报表管理、数据流动等一系列的业务操作。
1.3 论文工作内容
本文以建设完成涉税党务系统建设为目标,需要完成以下内容。
(1)文献查询。首先查询党务系统建设的基础性要求文件,综合考察当前其他党务系统建设情况,并结合当前党务系统自身需求,给出当前系统建设的框架和流程规划。
(2)需求分析。严格按照软件工程领域系统建设整体规范,对党务系统进行详细的需求分析和建模,界定当前系统的功能边界和相关参与者,分析参与者与系统之间的交互用例,并完成用例描述文档化。除此之外,对系统的非功能性需求进行考察分析,包括性能、安全性、易用性等特征。
(3)设计与实现。在需求建模和文档化的基础上,系统设计与实现模块主要给出系统的网络架构图、逻辑架构图,并按照自顶向下原则,给出系统的功能分解图,2
第一章 绪论
而后按照逐步细化的原则进行建设实施。最后,对党务系统的数据进行物理结构设计和详细说明。
(4)系统测试。在完成党务系统建设之后,按照需求阶段提出的功能性需求和非功能性指标进行详细测试。在给出系统测试环境基础上,按照系统功能分解图中的子模块划分,编写测试用例,对系统的功能性指标和非功能性指标进行详细测试。
1.4 论文组织结构
本文总共分为六章,依次是:
第一章:绪论。阐述了党务系统建设的背景、意义以及当前党务系统建设的相关现状,确定了党务系统建设的总体性要求和规范。
第二章:相关技术及理论。该部分对党务系统建设过程中涉及的技术和理论进行详细的说明,包括C/S架构、JSON数据格式、SpringMVC框架以及SQLServer数据库等技术。
第三章:系统需求分析。首先,该部分调查了党务系统自身独特的业务逻辑过程,并且界定了当前系统的功能边界,分析平台的参与者以及与系统之间的交互用例,并给出系统的用例图和用例说明文档。最后,对系统进行数据建模,给出系统的实体关系图说明。
第四章:系统设计实现。对系统的网络架构、逻辑架构、功能分解等进行详细设计,并按照功能分级图中的子模块划分,按照自顶向下的原则对系统进行建设。对于每一个模块,均给出流程图、类图、序列图等说明。
第五章:系统测试及分析。首先介绍测试环境,其次按照功能分解图逐模块编写测试用例进行功能性测试。而后,对需求分析阶段的功能性指标进行详细测试,并对测试结果进行分析总结。
第六章:总结与展望。首先总结论文的整体工作,而后对论文的不足之处和未来发展方向进行展望和方向性探讨。
3
西安电子科技大学硕士学位论文
4
第二章 相关技术概述
第二章 相关理论及技术
本章将对系统建设过程中所使用的技术进行详细的介绍,包括C/S架构、SpringMVC框架以及SQLServer数据库等技术,这些技术是支持系统建设的关键。
2.1 C/S架构
C/S架构(Client/Server)。C/S架构是目前PC端开发使用的主要模式[12]。该架构主要包括两部分,客户端与服务端。传统的客户端存在形式往往是基于PC端的,例如社交网络工具QQ、邮箱客户端等,这些传统的客户端使用的主要技术为基于Windows的编程。随着移动互联网的兴起,客户端的种类也在逐渐丰富,例如手机APP端,智能家居设备或者物联网设备等。在服务端,则是采用主流的基于Linux服务器的服务端架构,利用Linux系统出色的网络服务能力,实现服务端的快速响应。在网络通信方面,传统的PC端客户端与服务端之间的通信主要采用基于Socket、或者自定义序列化-反序列化的通信格式。而随JSON数据交换格式的发展,目前基于JSON数据格式的客户端服务端数据交换形式逐渐兴起[13]。对比传统的Socket通信+序列化/反序列化通信形式劣势,采用自定义交互协议与JSON结合的方式[14]。
(1)采用自定义通信协议,使得服务端与客户端之间的通信方式从Socket的紧耦合,变为面向接口的编程[15],服务端与客户端之间只要保证彼此之间通信的数据格式接口不变即可,而服务端则可以实现技术栈的演进,客户端也可以自定义数据展示方式。
(2)采用JSON数据格式取代传统序列化-反序列化数据交换格式[16]。通过简单易用的JSON数据格式,可以减少服务端与客户端数据交换过程中大量的序列化和反序列的代价,是的数据交换过程的效率大为提升。如图2.1为典型C/S架构的示意图。
Client客户端Server 服务端客户机客户机代理服务器数据库服务器客户机应用服务器
图2.1 C/S典型架构图
C/S架构具有以下典型优势。
(1)服务端与客户端之间面向接口通信,使得服务端与客户端之间可相互演进。5
西安电子科技大学硕士学位论文
客户端只需要保证与服务端之间的数据通信接口不变即可,但是客户端的开发方式和演进方式可独立进行,可以是PC端程序、移动APP或者物联网设备。
(2)访问安全性可控[17]。相对于B/S架构而言,C/S架构可通过对客户端账号或者访问来源等进行单独控制,从而完成对不同客户端的权限控制和访问过滤操作,而如果采用B/S端,则只能实现按照账户信息的不同进行访问控制。
但是,C/S架构也存在一定的问题:运维压力[18]。运维压力包括两个方面:并发访问压力和版本变更压力。当用户并发访问量过大时,服务端压力过大,需要考虑实现服务端负载均衡。C/S端的版本更新相较于B/S而言更为负载,需要有专门的版本更新解决方案,也需要考虑客户端的兼容性问题。
2.2 SpringMVC框架
本平台建设所使用的框架为SpringMVC,只是服务端采用@ResponseBody实现服务接口的形式为客户端提供数据访问服务。下面将详细介绍SpringMVC技术。
2.2.1 IoC控制反转
IoC[19](Inversion of Control),也常被成为控制反转。IoC概念的核心在于将对象之间的依赖关系从自身决定转移到第三方控制,通过配置-生成的形式在程序运行时将对象之间依赖的关系注入到对象中。
在一般的web开发过程中,尤其是面向对象开发领域,如果一个对象持有另一个对象的引用,则会在程序中手动生成被依赖对象,从而使得程序能够正常进行。然后,这种对象的使用方式使得模块之间的关联变得非常的紧密,使得程序在可扩展性和可测试性方面表现的都很差。在一个类定义发生改变之后,关联类常常也需要进行改动,在程序修改时回消耗极大的人力物力。
依赖注入的好处在于,将对象之间的紧耦合关系解耦,通过XML配置文件的形式指定对象间的依赖关系,在程序运行过程中,通过解析配置文件的形式,生成依赖的对象,而后注入到程序中即可。
2.2.2 AOP面向切面编程
AOP[20](Aspect Oriented Programming),面向切面编程。其主要思想是:将程序开发过程中涉及到的关联度不高,但又无法避免的业务部分抽离出来,作为一个切面,通过配置的形式将这些切面防止在不同的位置,在需要时进行调用即可。例如,一些安全、日志、统计类的功能和核心业务之间关联度不高,如果直接夹杂在业务程序中,则会导致程序耦合性过高、臃肿不堪,难以扩展和维护。
而AOP面向切面编程的思想是将这些经常需要的服务类代码抽象为一个切面,6
第二章 相关技术概述
在需要这些代码的时候,只需要在XML文件中进行配置,即可对方法的调用进行调用前和调用后的拦截。这种设计降低了程序的耦合性,使核心业务更能关注于核心代码逻辑。其实,AOP技术使用的是Java中的动态代理技术,在程序运行过程中动态生成一些类,然后动态的加载,来辅助程序的运行。
2.2.3 Spring MVC
Spring MVC框架是指结合了Spring框架和MVC设计模式之后的一种新的结构,具有轻量、高效的特点。该架构结合了MVC模式、IoC控制反转以及AOP面向切面技术等,是当前构建Web应用程序所使用的主流框架。
MVC(Model-View-Controller)即视图-模型-控制器模式[21]。随着软件工程理念的不断发展,程序模块间解耦成为主流的设计理念。因此,MVC模式专注于实现应用的逻辑、数据和表现之间的分离。
视图(View)。视图属于前端展示层的范畴,主要用于包装后台服务器处理好的数据,并最终展示给用户[22]。模型(Model)。模型是对应用系统内部的数据进行组织和包装,是系统业务逻辑规则的体现。控制器(Controller)。是整个业务逻辑层的核心组件,是构成业务处理的工作单元,用于接收来自表现层或者展示层的请求。在接收到用户请求之后,控制器查询数据库中数据,然后按照模型的定义,将数据包装成视图的形式,并最终在前端展示给用户[23]。
2.3 反向代理与负载均衡
反向代理技术目前大型网站或者分布式系统中为保证系统的高可用和负载均衡而使用的一种常见方式[24],其通常结构为设置一台或者多态服务器在服务端的业务服务器处理链路之前,使得来自客户端的请求首先经过反向代理服务器,然后有反向代理服务器根据不同的策略(一般是负载)来选择某一台应用服务器来处理客户端的请求。通常,反向代理技术往往与负载均衡技术相结合,实现服务端高可用[25]。常用的负载均衡策略有。
(1)轮询。轮询即为代理服务器通过不断向应用服务器发送请求来获取不同服务器上的服务端应用的存货状态,而后按照顺序将来自客户端的请求定位到某一台服务器上。轮询操作可以变更为加权轮询。
(2)随机。与轮询类似,也是挑选一台可用服务端设备来处理客户端请求。但不同之处在于每次选择均是随机进行的。
(3)哈希法。主要通过一致性哈希算法,将当前的服务器服务范围映射为一个环形,然后每一次的客户端请求命中环形中的某一段,从而将客户端的请求定位到某一台服务器上。
7
西安电子科技大学硕士学位论文
(4)最小请求数法。主要由代理服务器统计当前各个服务端应用的所连接的客户端数量,然后将客户端请求发送至当前请求连接数量最小的服务器。
(5)最短响应时间。代理服务器根据历史的处理性能,将客户端请求发送至能够最快响应的服务端。
在Web开发领域,常用的反向代理与负载均衡主要是通过LVS和Nginx实现。而一般来说,LVS实现负载均衡与高可用较为重量级,实现难度较大,成本较高。常常是通过Nginx+keepalive的方式显示服务端程序的高可用。
2.4 SQL Server 数据库
SQL Server数据库作为微软公司专门为Windows下数据管理提供的专业关系型数据库管理系统,具有性能卓越、事物支持能力强、可扩展性强和易于维护等特点,往往作为Windows环境下数据管理的首选工具[26]。在本文建设的涉税党务系统中,需要通过SQL Server数据库实现党务系统中党员关系、党务活动、党组织结构等核心数据的存储和管理。本节将对SQL Server数据库涉及到的数据库原理、事物级别等相关特性进行详细介绍。
2.4.1 关系型数据库
RDBMS普遍意义上是指遵循关系数据模型的数据库管理系统。关系数据模型是指将现实世界中的物理对象进行抽象,获取其核心属性,然后映射为数据库系统中的一个二维表结构。而物理对象之间的关系,则映射为关系,用于表征二维表结构之间的关联关系。例如,党员作为现实世界中的一个具体对象,映射在数据库中则是一张党员数据表,具有编号、姓名、党龄、所属党组织编号等核心属性。同样,党组织也是一样,被映射为数据库中一张党组织信息表,具有党组织编号、名称、负责人、上级党组织、下级党组织等核心信息。而党员与党组织之间则是通过党组织编号进行关联的,从而形成数据库系统中的关系,这样就完成了物理对象与对象间关系从现实到数据中映射。关系型数据库如表2.1所示。
表2.1 关系型数据库存储模型
工号12姓名zhangsanlisi年龄2525通信地址1BeijingHangzhou通信地址.
在最初,只有关系型数据库这种严格遵循固定二维表结构的、面向行存储的数据管理方式。但是,随着数据库理论和技术的不断发展,非关系型数据库开始出现。典型的非关系型数据有:键值对存储数据库(如Redis)、文档数据库(如MongoDB)、8
第二章 相关技术概述
列存储数据库(如HBase)和图数据库(如Neo4J)[27]。
2.4.2 事物隔离级别
在数据库系统中,事务是指为保证多项操作同时进行而出现的数据操作提交方式。典型的事务遵循ACID特性:原子性(事务中操作要么全部执行、要么都不执行,不会只执行一部分)、一致性(数据库系统的数据在事务更新前和更新后都满足一致性,不会存在数据不一致问题)、隔离性(事务之间的操作按照隔离级别的设定进行隔离,互不影响)、持久性(事务进行的变更操作时永久性的,哪怕数据库系统重启也不会改变)[28]。
为满足并发数据操作在安全性方面的需求,数据库系统针对不同的数据场景具有不同的事务隔离级别。事务隔离级别的选取往往是针对并发数据安全问题产生的。一般来说,数据库中存在以下可能的数据并发安全问题。
(1)丢失更新。假设存在两个并发操作的事务,事务T1更新了数据记录A的值,同样,事务T2也更新了数据记录A的值,则在没有良好并发控制的情况下,往往后一个操作会覆盖前一个操作的更新。
(2)脏读。脏读是指一个事务T1读取了另一个事务T2未提交的数据,则在T2数据回退之后,事务T1获取的事务无效,而如果事务T1依据这些数据做更新,则会导致数据错乱。
(3)不可重复读。不可重复读是指事务T1首先读取了一定的数据集,而事务T2紧接其后更新了数据,事务T1再读数据,则和之前读取的不一致。
(4)幻读。幻读是指事务T1通过同一筛选条件进行查询,两次查询的数据不一致,第二次比第一次多了某些记录。
以上事务并发过程中出现的安全性问题,可通过不同的事务隔离级别进行控制,按照控制等级的严格程序,从低到高依次如下。
(1)未提交读。该级别保证不了事务之间并发操作时的数据安全性,换言之,该级别不存在任何的并发控制操作。
(2)已提交读。主要用于解决脏读问题,一个事务读取的数据必须是其他事务已经提交的数据,任何事务未提交数据对于其他事务来说都是不可见的,这也是SQL
Server数据库默认的事务隔离级别。
(3)可重复读。可重复读通过确保一个事务读取的数据范围内其他事务不能做修改来保证事务两次读取数据是一致的,该级别用于解决不可重复读问题,是MySQL数据库的默认事务级别。但是可重复读解决不了幻读的问题。
(4)序列化。序列化是指所有的事务都是串行的,则自然也不会存在并发操作导致的数据并发安全性。
9
西安电子科技大学硕士学位论文
2.5 本章小结
本章对涉税舆情数据采集与管理平台建设过程中设计到的关键技术和理论进行了详细的说明,包括C/S架构、Spring MVC框架、负载均衡技术以及SQL Server数据库等,为论文的实现阶段打下技术基础。
10
第三章 系统需求分析
第三章 系统需求分析
本章的主要目标主要为了完成党建系统的需求分析工作。在本阶段,主要是识别系统的参与者和对应的功能边界,基于此,对系统数据流进行说明并给出相应的系统用例图。然后对系统中涉及的实体和关系进行识别和分析,完成系统数据建模。
3.1 系统总体分析
在对党建系统进行完整的需求建模流程之前,需要系统的定位和建设设想进行整体的分析,包括系统的作用、定位、面向的使用者以及使用者与系统之间的交互关系等。当前党建系统作为某地税局管理组织关系数据、党员关系数据、党建资料数据的重要工具,总体来说,系统需要发挥以下作用。
(1)党组织管理:面向各级单位和支部党组织,提供当前党组织信息管理和下级党组织信息的维护服务。
(2)民主评议:对当前党组织以支部为单位进行民主评议,包括对支部党员进行评议的管理。
(3)党员管理:对当前党员信息的录入、删除、修改以及搜索等服务,并提供党员信息详细表的导出工作。
(4)报表管理:面向各级党务系统管理员,实现当前党务系统中各种党建资料、报表资料的管理,包括报表的增删、搜索、自定义报表格式等服务。
(5)党费收缴管理:对党员党费收缴情况进行管理,包括党员党费缴纳、党费收缴登记表、党费缴纳情况查询。
3.2 系统需求分析
在上一节给出党务的业务描述之后,需要确定当前系统的参与者及其与系统之间交互。
系统的参与者为党务系统的管理员。系统管理员与系统之间的交互操作主要包括党组织信息管理、民主评议管理、党员信息管理、报表管理、党费收缴管理等。党组织信息管理包括党组织信息一览表、新增和录入党组织信息、查询党组织信息和撤销党组织。民主评议管理包括对党支部和下辖党员进行测评。党员信息管理则包括新增录入党员信息、介绍信及证明材料管理等交互。党费收缴管理对党员党费收缴情况进行管理,包括党员党费缴纳、党费收缴登记表、党费缴纳情况查询。报表管理则包括报表列表一览、报表定义、删除报表数据以及报表数据导出等功能。给出如图3.1所11
西安电子科技大学硕士学位论文
示的系统用例图。
党建管理系统党组织信息一览<
从图3.1中可以看出,党建系统主要包括五大功能,分别为党组织管理、民主评议管理、党员管理、报表管理、党费收缴管理。现在详细介绍各个用例如下。
(1)党组织管理
包括了党组织信息一览、党组织管理、用户管理、个人信息和用户日志五个模块,核心用例是党组织信息一栏和党组织管理。党组织信息一览,提供了党组织信息的一览表,按照当前组织级别的不同,统计当前系统中基层组织的数量、党支部的数量、党委的数量。并提供党组织报表的导出服务,生成excel文件。
12
第三章 系统需求分析
党组织管理提供了党组信息维护的服务,主要包括党组织信息的录入、修改、删除等。同时还支持当前组织的支部组织信息的统计和搜索功能,支持在当前党组织中加入新的党小组信息。通过党组织的形式可统一检索所有的党务信息。
(2)民主评议
包括了资讯分类、增删改查和附件管理。主要用于记录当前党组织内部的民主评议活动记录,包括党组织的评议、参加人数等信息,还包括对组织内不同党员的评议。
(3)党员管理
包括了党员队伍一览和党员信息管理。党员队伍一览表提供了党员管理功能的整体统计服务,主要用于以报表的形式展示当前党组织内部所有的党员数量、男女比例、年龄分布、学历状况、党员表彰人数、本年度发展人数等信息,并提供导出报表服务;党员信息管理提供了系统所有党员信息的录入、删除、修改以及搜索等服务,并提供党员信息详细表的导出工作。
(4)报表管理
包括了报表定义、报表材料管理和报名说明管理。报表定义是面向党建系统管理员提供报表自定义功能,包括创建新报表和报表格式修改等功能;
报表材料管理主要提供当前党建系统内部的报表数据的维护,包括报表按照类别查询、报表内容查询、报表删除以及报表属性修改等功能;报表说明管理主要是针对当前系统中存在报表进行格式和填写项的说明,并提供说明文件的导出等服务。
(5)党费收缴管理
主要提供党费收缴等方面的管理,按照党员列表,依次管理党费缴纳情况、党员个人党费缴纳情况、未交党费统计以及党费基数变更等。
在介绍以上用例的基础上,为体现系统建设逻辑和论文的结构,接下来将选择典型用例进行详细说明描述。
3.2.1 党组织管理用例分析
党组织管理是党建系统提供的核心功能,不仅包括当前党组织信息的录入、删除、导出和修改,同时还包括对党组织中党员信息的统计、党组织内党小组的添加等功能。
表3.1所述的党组织管理详细描述,图3.2所示的党组织管理对应的活动图描述。
首先,管理员在完成身份认证登录进系统之后,点击党组织管理,并选择党组织管理模块。而后管理点击创建党组织按钮,系统显示党组织信息录入界面。管理员在填写党组织名称、编号、组织代码之后,可选择为当前党组织加入下级党组织,也可以直接点击确定按钮提交。系统保存当前党组织信息并提示党组织信息录入成功。
而后,管理员可选择在搜索框中搜索党组织信息,系统按照名称匹配党组织信息,如果已经存在党组织信息,则按照列表的形式展示,否则提示没有党组织符合搜索条13
西安电子科技大学硕士学位论文
件。
除此之外,管理员可选择双击特定的党组织记录查看党组织的详细信息,也可点击“导出excel文件”按钮,并给出导出文件命名,系统提示党组织信息导出成功。管理员还可以点击删除按钮删除当前党组织信息。至此,党建管理员可完成党组织管理得到所有功能。
表3.1 党组织管理用例表格
用例ID 001 用例名称 党组织管理
系统管理员对系统中存在等党组织信息进行录入、删除、导出和修改,对党组用例简介
参与者
前置条件
织信息的统计和党小组等信息的管理。
系统管理员
系统管理员完成身份认证,成功登录到党建管理系统
1.管理员点击党组织管理,选择党组织管理模块
2.系统加载党管理界面,并以列表形式显示所有党组织信息
基本流
3.管理员点击新增党组织按钮
4.系统显示新增党组织界面
5.管理员填写党组织名称、代码、描述等信息,点击确定
6.系统提示党组织添加成功
7.管理员输入党组织名称点击搜索
8.系统显示所有符合搜索条件的党组织信息
9.管理员双击某一条党组织记录
10.系统显示包括基本情况、单位信息和民主生活等各种信息
11.管理员点击删除按钮,并确认
12.系统提示党组织信息删除成功
13.管理员选择一条党组织信息,点击输出到excel文件
14.系统输出党组织信息到指定文件,提示导出成功
备选流
后置条件
拓展点
A1.如果搜索无相关党组织信息,则提示无符合条件的机构信息
系统管理员成功进行党组织信息管理维护或操作失败
暂无
14
第三章 系统需求分析
act 党组织管理活动图管理员党建系统点击党组织管理,并选择党组织管理模块加载党组织信息并以列表形式显示点击新增党组织信息,填写信息,并提交提示党组织添加成功输入党组织名称并点击搜索党组织记录存在党组织记录不存在显示所有党组织信息提示无符合条件的党组织记录选择党组织记录,点击导出到excel提示党组织信息导出成功点击删除党组织,并确认提示党组织删除成功图3.2 党组织管理用例活动图
3.2.2 民主评议用例分析
民主评议功能位于党组织管理模块下,主要用于当前党组织的工作和组织内的各个党员的情况进行民主评议,并登记评议结果。
表3.2所示为民主评议用例描述表格,图3.3所示为民主评议用例对应的活动图描述。首先,管理员完成身份认证之后,选择新增按钮添加新的党组织民主评议成果。民主评议包括两个部分:党组织民主评议和党员民主评议。系统首先显示当前党组织的民主评议信息填写栏。管理员在填写评议起始、结束时间、评议地点、参与人数、主题、评议结果等必填信息,点击保存。系统提示当前党组织评议完成,是否开始党内组织成员的评议。管理员点击确定,系统加载属于当前党组织的所有成员列表。管理员逐项选择成员、并填写其评议信息,点击保存。系统提示保存评议信息成功,并将评议结果保存至成员列表中的结果栏。管理员也可在初始进入界面时就点击党员评议,填写评议结果并保存。至此,管理员完成了对党组织内部的组织民主评议和成员民主评议。
15
西安电子科技大学硕士学位论文
表3.2 民主评议用例表格
用例ID
用例简介
参与者
前置条件
002 用例名称 民主评议
系统管理员通过民主评议的方式对当前党组织和对应的组织内的成员进行评价、并记录评价结果。
系统管理员
管理员登录到系统,并选择党组织管理模块的民主评议
1.管理员点击新增党组织民主评议
2.系统加载显示党组织民主评议界面
3.管理员填写党组织民族评议详细信息,并点击保存按钮。
基本流
4.系统保存当前评议结果,并提示保存成功
5.管理员点击党员民主评议
6.系统所有的待评议党员列表
7.管理员填写当前党员的评价信息并点击保存
8.系统保存当前党员的评议结果,并填入到党员列表的结果栏
A1.如果评议结果缺少必填项,则系统提示核心属性必填
备选流
后置条件
拓展点
A2.如果当前不存在待评议党员列表,则列表为空
管理员成功进行民主评议结果的添加及维护
暂无
act 民主评议活动图管理员党建系统点击新增党组织民主评议加载显示党组织民主评议界面填写评议详细结果和必填属性,点击保存提示评议结果保存成功点击党组织成员评议系统加载所有党组织成员列表填写某成员的评议结果,并点击保存提示保存成功并显示到党员列表的结果栏图3.3 民主评议活动图
16
第三章 系统需求分析
3.2.3 党员管理用例分析
党员管理是党务系统的另一大核心功能,是对当前组织中所有党员基本信息、学历信息进行管理,并能够在当前党组织内添加、修改、删除党员信息,并将党员信息导出到excel等。通过对党员信息的管理,党建系统能够维护系统中所有成员的信息,从而完成人员信息自动化的目标。
表3.3所示为党员管理用例的详细过程,图3.4所示为党员管理用例对应的活动图描述。管理员点击党员管理下的党员管理模块,系统以列表形式展示该组织下的党员列表。管理选择一个党员记录,双击鼠标,系统会显示该党员的详细信息,包括发展培养情况、个人信息、党籍信息等信息。而后,管理员点击新增按钮,在系统弹出的类别选择界面选择数据录入方式为直接录入、选择党员转入关系前的组织信息,在党员信息录入界面填写详细的党员信息,然后点击保存。系统提示管理员党员信息保存成功。党员信息修改流程与录入流程类似。而后管理员可按照条件对党员信息进行搜索,搜索结果以列表的形式展示。管理可选择某一条党员记录导出,则系统会将当前党员的信息以一定的格式导出到excel文件中。或者管理员可选择删除选定的党员信息,系统会直接删除党员在系统的信息记录。
表3.3 党员管理用例表格
用例ID
用例简介
参与者
前置条件
基本流
备选流
后置条件
拓展点
003 用例名称 党员管理
管理员通过增删改查等操作维护系统中所有党员的信息。
系统管理员
系统管理员完成身份认证,登录到系统
1.管理员点击党员管理,选择党员管理模块
2.系统加载当前组织内所有的党员信息
3.管理员选择特定党员记录,并双击
4.系统显示该党员的详细信息
5.管理员点击新增按钮
6.系统加载并显示党员新增界面
7.管理员填写党员转入系统前组织信息,点击保存。
8.系统提示保存党员信息成功。
9.管理员输入搜索条件,点击按姓名搜索党员
10.系统显示所有符合条件的党员记录信息
11.管理员点击导出党员信息到excel
12.系统提示导出党员信息成功
A1.管理员搜索无满足条件的党员记录,则提示无党员信息
管理员成功查看、新增、修改、删除以及导出系统的党员信息
暂无
17
act 党员管理活动图西安电子科技大学硕士学位论文
管理员党建系统点击党员管理,选择党员管理模块加载当前组织内所有的党员记录选择特定党员,并双击系统显示党员的详细信息管理员点击新增按钮在人员类别选择界面选择党员转入前关系、转入时间等信息系统显示党员信息录入界面填写党员信息并点击保存提示党员信息录入成功输入搜索条件并点击搜索有记录有符合条件记录以列表形式显示所有符合条件党员记录点击导出党员信息到excel提示无党员信息提示党员信息导出成功图3.4 党员管理活动图
3.2.4 党费收缴用例分析
党费收缴用例主要是用于管理当前系统中各个党员的党费收缴情况。并提供对历史的党费收缴情况的查询服务。除此之外,党费收缴模块还提供对党费收缴基数的管理,通过调整党费收缴基数的不同,控制不同的党员缴纳不同的党费。
表3.4所示为党费收缴用例的用例描述,给出典型执行过程,然后分析建模党费收缴用例的活动图,如图3.5所示。
首先,管理员进入党员管理,选择党费收缴管理。系统加载当前组织中需要缴纳党费的所有党员名单。管理员点击党费收缴按钮,在系统显示的党费收缴界面选择对应的党员,选择个人党费栏目,点击选择新增党费记录,填写党员缴纳的党费信息与缴纳时间,点击保存。如果当前月份该党员的缴费记录已经存在,则系统提示是否覆盖当前缴费记录,如果当前月份该党员并未缴纳党费,则直接提示管理员保存成功。
除了缴纳党费之外,管理员还可以点击党费报表按钮,按照月份查询所有已经缴纳党费的记录。通过点击更改党费基数按钮,管理员可以在党费基数管理界面选择一个党员,更改其党费缴纳基数,也就是缴纳党费占工资的百分比的方式实现对党员缴18
第三章 系统需求分析
纳党费的控制。
表3.4 党费收缴用例表格
用例ID
用例简介
参与者
前置条件
004 用例名称 党费收缴
系统管理员对系统中各个党员的党费收缴情况进行管理,对党费收缴基数等参数进行调整。
系统管理员
管理员成功登录到系统中
1.管理员点击党员管理,选择党费收缴管理模块
2.系统加载并显示当前组织内所有党员列表,并在右侧显示当前选定的党员的详细信息
3.管理员点击党员党费缴纳按钮
4.系统显示党费缴纳界面
5.管理员点击选择党员,从系统弹出的党员列表中选择待处理的党员
6.系统显示当前党员已交党费历史记录
7.管理员选择个人党费处理,选择新增缴费记录,并填写缴纳的费用、时基本流
间等信息,点击保存
8.如果当前月份的缴费记录不存在,则提示缴费成功,否则提示是否覆盖旧有缴费记录
9.管理员点击党费报表按钮
10.系统以月份为单位,显示当前系统中所有党员的缴费情况
11.管理员击党费基数变更
12.系统显示基数变更界面
13.管理员调整所交党费占工资的比重,并点击保存。
14.系统提示党费基数变更成功
后置条件
拓展点
管理员成功进行党费收缴、缴费统计以及党费基数调整的管理功能
暂无
3.2.5 报表材料管理用例分析
报表材料管理主要通过报表材料的方式进行党建系统中主要信息的处理和流动。如表3.5所示为报表材料管理用例的详细描述表格。
19
act 党费收缴活动图西安电子科技大学硕士学位论文
管理员党建系统点击党员管理,选择党费收缴模块加载显示所有党员列表点击党员党费收缴按钮加载显示党费收缴界面从待处理党员列表中选择党员加载该党员的历史缴费记录选择个人党费,点击选择新增党费,并填写缴费信息无已缴费记录缴费记录已存在提示缴费记录保存成功提示覆盖旧有缴费记录点击党费报表按钮按照月份为单位展示所有缴费记录选择党员,点击变更党费记录,点击确定提示党费基数变更成功图3.5 党费收缴活动图
表3.5报表材料管理用例表格
用例ID
用例简介
参与者
前置条件
005 用例名称
报表材料管理
系统管理管理当前党建系统中存在的报表材料数据。
系统管理员
管理员完成身份认证,成功登录系统
1.管理员点击报表管理模块下的统计报表直统
2.系统按照类别显示当前类别下所有的报表名单
3.管理员选择不同的报表类型
4.系统显示对应的报表类型下的报表名单
基本流
5.管理员选择特定报表,双击查看当前报表格式
6.系统显示当前报表的详细内容
7.管理员点击导出excel按钮
8.系统将当前电子表格导出为excel格式
9.管理员点击删除当前报表,并确认删除
10.系统删除当前报表,并刷新报表列表
后置条件
拓展点
管理员成功进行报表管理工作
暂无
20
第三章 系统需求分析
图3.6所示为报表材料管理的活动图描述,主要面向管理员提供报表材料类别的管理、格式的定义、属性信息的修改、报表的导入导出等。首先,管理员点击报表管理的报表直统模块,系统会按照不同报表类型显示报表列表。而后,通过选择不同的报表类型来查看不同的报表列表。其后,在报表列表中,管理员可选择特定的报表记录,双击查看报表的详细内容。最后,点击导出excel按钮,可将当前报表导出为excel文件。
act 报表材料管理活动图管理员党建系统点击报表管理下的统计报表直统系统按照类别加载报表列表选择不同报表类型按照不同类型筛选报表列表双击选择的报表显示报表的详细内容和格式点击导出excel按钮导出当前报表为excel格式文件点击删除当前报表按钮,并确认提示当前报表删除成功图3.6 报表材料管理管理活动图
3.3系统数据建模
在完成党建系统的需求分析之后,对系统中使用的数据实体和关系进行建模,识别出系统业务处理过程中所涉及到的实体、关系和属性,更好地辅助业务逻辑,为后续系统的数据库设计打下了模型基础。通过对系统需求和处理流程的分析,建模出如图3.7所示的实体关系图,实体的说明如表3.6所示。当前实体主要分为以下四大类。
(1)系统维护类。主要包括管理人员、权限、操作日志、变更日志等实体。主要用于系统访问控制、权限约束、操作追查、数据安全等方面。
(2)组织管理类。主要包括党组织管理、民主评议、会议记录等主要功能。
(3)党员管理。主要设计党员信息管理、党费缴纳管理等人员管理功能。
(4)报表材料管理。主要涉及党建系统中使用的各种当前材料、类型和说明等信息的管理。
21
西安电子科技大学硕士学位论文
编号说明编撰人
报表说明1编号类别名称拥有1编号类别权限n编号报表nn属于1报表类型拥有编号变更n生成11定义1管理人员1文件编号生成n日志时间类别操作时间设置nn编号n属于1会议n主题编号编号党费基数举行1组织1名称属性基数包含时间编号n1法人参与nn缴费记录nn1属于拥有人数缴纳1党员拥有n评议结论编号时间费用编号姓名籍贯学历编号时间主题图3.7 系统实体关系图
表3.6 系统数据建模实体表
实体名称
管理人员
权限
日志
变更
组织
评议
会议
党员
党费基数
缴费记录
报表类型
报表
报表说明
实体简要说明
系统中的管理员和已授权用户
访问党建系统所涉及的权限
系统中管理操作相关表对应的操作时间、类型、变更结果等记录
数据导入、导出、备份等操作的变更记录
党建系统中所设计的各级组织
党组织管理过程中所涉及到的评议结果
党组织日常活动过程中所产生的民主生活会、党代会等实体
存储组织内人员信息的实体
党员在缴纳党费过程中使用比例系数,可能随时间变化
党员缴纳的费用记录,主要包括人员编号、时间、费用等属性
表征党建报表材料的类型说明
党建系统中所涉及的各种表格材料
针对报表内容和填写过程中使用的报表说明信息
22
第三章 系统需求分析
3.4非功能性需求分析
对于一个访问频率较高,日常业务处理过程以来较重的系统而言,不仅需要考虑其功能性需求,还需要注意其非功能性需求。党建系统作为面向税务局建设的组织内党建和党务处理的重要工具,其在系统可用性、性能以及安全性等方面也具有较高的要求。现在整理系统的非功能性需求如下。
3.4.1 性能需求
系统在满足了目前提出的功能性需求的基础上,还需要考虑性能需求。党建系统的性能指标可能会随着时间的推移而变化,目前需求阶段需要满足的是能够同时支持200个客户端的并发接入,对于直接与客户端UI展示相关的请求数据,响应时间必须少于2.0秒。总结为:需要支持200人的用户并发,因此系统吞吐量应不少300QPS。
对于系统的性能指标而言,其影响因素可能是多种多样的,包括硬件方面和软件方面的影响。软件方面则一般受算法、处理逻辑复杂与否、SQL访问性能等因素影响。针对不同的类别,对应解决方案如下。
(1)硬件问题。硬件对系统的影响,集中体现在内存和网络IO方面。尤其是网络IO的影响。如果是CPU密集型的应用,往往也需要考虑CPU的主频的参数。针对党建系统而言,系统需要快速响应客户端的请求,因此在网络IO方面要求较高,需要配置高带宽的网卡。同时,为防止应用服务器单点故障导致服务不可用的情况,本系统还需要使用Nginx实现多个服务器的反向代理和负载均衡。
(2)软件问题。在本文中,影响系统性能的软件因素主要有数据库查询性能这一点。因此,为替身软件的性能,需要在数据库设计上精益求精,主要有三种措施。1)增加数据库服务器的硬件性能,增加CPU主频、扩大内存和使用固态硬盘等。2)设计良好的数据库结构,针对不同的查询设计索引结构,优化慢查询。3)适当冗余。通过适当增加冗余的方式,减少表之间的关联查询,从而提示数据库访问性能。
3.4.2 安全性需求
党建管理系统作为税务局内部管理内部组织信息、党员信息以及党建材料数据的所在,在建设过程中需要充分考虑系统的安全性。因此设计系统之初就要设计好系统的安全策略。系统采取的安全策略如下。
(1)对于系统的使用者,系统应该提供权限的设置,保护数据的访问,阻止非法用户恶意盗取或者篡改系统数据[29]。
(2)系统开发过程应该使用先进的安全技术。应该对访问本系统的用户身份进行验证;系统编码时也要使用安全的编码方案。
23
西安电子科技大学硕士学位论文
(3)数据备份与恢复。自动备份策略,即定时备份系统数据和日志信息,这样即使数据库损坏,还可以根据备份数据及日志信息把系统恢复到破坏前状态[30]。
3.4.3 易用性
党建管理系统管理了大量的表格数据,拥有非常多的数据属性,这给系统的操作人员带来了使用上的不方便。因此,系统需要在数据、表格等方便提供更方便的操作方式。因此系统的人机交互设计应该简单易懂,易于操作。针对用户应该提供足够多的帮助信息来辅助用户操作本系统,使得用户可以用最少的时间熟悉和理解本系统。
3.5 本章小结
在本章,首先对党建系统进行了整体的需求建模和分析,并给出系统的上下文数据流图。在此基础上,确定系统的参与者和系统边界,给出系统用例图和对应描述文档。除此之外,给出实体说明表,并给出实体与实体之间的关系,也即系统的ERD,给接下来数据库设计打下基础。
24
第四章 系统设计与实现
第四章 系统设计与实现
在第三章,我们给出了党建系统的需求分析和数据建模,获取了系统的用例图和实体关系图。在本章,将以此为基础,给出党建系统的设计与实现。
4.1 系统架构设计
党建系统的架构设计包括网络架构设计和逻辑架构设计。网络架构设计主要用于表征系统的网络部署机构。
4.1.1 系统网络结构设计
基于本系统是面向税务领域建设的党建系统,需要考虑系统自身的安全性,因此采用内外网分离的原则。如图4.1所示为党建系统的网络架构图。
数据库服务器应用服务器内部用户交换机Nginx代理服务器防火墙路由器外部用户互联网图4.1 平台网络架构图
从系统的网络机构图可以看出,系统在网络结构上整体分为四个部分,依次为业务服务器集群、Nginx代理服务器、内部局域网用户、外部用户。
(1)业务服务器集群。业务服务器集群是指由应用程序服务器和数据库服务器组成的网络模块。其中,应用程序服务主要用于处理客户端发来的操作请求,而数据库服务器则用于存储当前党建系统中的各种组织数据、党员数据以及党建材料数据等业务数据。业务服务器端代码采用SpringMVC框架提供服务接口的形式获取数据。
25
西安电子科技大学硕士学位论文
(2)Nginx代理服务器。因为在日常的党务活动高度依赖当前的党务系统,因此在建设过程中需要考虑党建系统自身的高可用。常用的高可用策略包括LVS负载均衡和反向代理。而LVS负载均衡需要通过七层网络模型进行处理,成本较高。考虑效率和成本问题,本文采用基于Nginx的反向代理实现应用服务的高可用与负载均衡。
(3)内部用户。内部用户是指地方税务局内部使用管理党建系统的用户。由于当前党建系统是面向税务局使用的基于C/S架构的系统,因此需要使用局域网来避免直接接入互联网带来的安全问题。
(4)外部用户。外部用户是指通过互联网的形式,以PC客户端为媒介的访问形式。本文所建设的党建管理系统除了在内部使用局域网访问之外,为方便移动办公,还提供在局域网之外的数据访问链路。为保证系统访问的安全性,屏蔽外部的攻击,在应用服务器与互联网接入之间架设了防火墙,保证系统的安全性。
基于以上的网络架构设计,既保证了系统各业务模块之间的清晰分离,避免了各模块之间的互相影响,又满足了不同场景下不同用户的访问需求,适合作为系统的网络架构使用。
4.1.2 系统逻辑结构设计
在给出了党建管理系统的网络架构设计之后,为给接下来的开发逻辑提供更加清晰的架构指导,给出系统的逻辑架构图如图4.2所示。
用户层党建管理员党建管理员PC端展现层党组织管理党组织管理党员管理党员管理民主评议民主评议党费收缴党费收缴报表管理报表管理基于基于HttpClientHttpClient与服务器通信与服务器通信ControllerController控制器层控制器层党组织管理党组织管理业务逻辑层ServiceService服务层服务层党员管理党员管理民主评议民主评议党费收缴党费收缴报表管理报表管理DAODAO访问数据接口访问数据接口数据持久层数据持久层党建系统数据库党建系统数据库((SQL ServerSQL Server))HTTP图4.2 系统逻辑架构
26
第四章 系统设计与实现
从图4.2中可以看出,系统架构来源于典型的三层模型,只不过将展示层划分为用户层与PC端展现层。现在依次介绍各个层次如下。
(1)用户层。该层主要面向系统的服务对象,也就是各个党组织的党务数据管理员。这些用户通过PC端展现层与系统进行交互,获取信息,同时通过发送操作指令的形式进行系统的业务处理和数据变更。
(2)PC端表现层。与传统的B/S架构有所不同,党建管理系统的展现层采用的PC端客户端程序的形式进行。因此,客户端也就成为系统业务逻辑层和用户层之间的交互媒介。PC端主要采用windows编程实现数据展示。在网络数据通信形式上,客户端通过HttpClient与服务端之间进行通信。在数据格式方面,为减少数据序列化与反序列带来的效率降低问题,本文采用JSON作为数据交换格式。
(3)业务逻辑层。党建管理系统中的业务逻辑层主要位于服务端,连接客户端和数据持久层,通过响应客户端的各种数据操作请求,实现用户与系统之间的交互。在业务逻辑层,主要采用Spring MVC架构。基于此,业务逻辑层被划分为两个层次:Controller控制层和Service服务层。控制层主要是通过监听相应的请求路径来响应客户端发起的请求。Service服务层主要接收控制层的调用,实现业务请求与数据之间的关联。Service服务层作为被调用者,用来直接处理用户请求和数据访问请求,在完成具体的用户请求之后,将获取的数据返回至控制器层,并最终返回至前端表现层。
(4)数据持久层。数据持久层从上到下主要包括两个部分,分别为DAO(Data
Access Object)接口和SQL Server数据库。其中,DAO接口统一定义和约束了业务逻辑层对于数据持久层的访问请求,保证了数据库访问的稳定性和一致性。而SQL
Server数据库则被作为数据存储系统使用,存储所有党建信息数据和平台自身的业务数据。
4.2 系统功能分解
在完成了平台的网络架构设计和逻辑架构设计之后,需要对系统各个功能模块进行细分设计,主要原则为自顶向下、逐步细分原则。为紧密结合平台建设的需求,为系统开发阶段提供指导,按照从上至下的原则,进行功能分解。
首先将系统分为党组织管理、党员管理、报表管理、民主评议、党费收缴管理等五大模块。而后在此基础上,针对每个大模块,再进行进一步的细分,给出各个大模块下的子模块划分,最终给出党建管理系统的功能分解图如图4.3所示。
通过功能分解图的形式对系统的功能进行自上而下的划分,主要包括五大功能模块,依次为党组织管理、民主评议管理、党员管理、报表管理、党费收缴管理。每个模块是系统业务强相关。
27
西安电子科技大学硕士学位论文
党建管理系统
党组织管理民主评议党员管理报表管理党费收缴党组织信息一览党组织管理用户管理日志管理组织评议个人评议咨询管理党员队伍一览党员信息管理报表定义报表材料管理报表说明管理收缴基数管理收缴情况查询图4.3 党建管理系统功能分解图
如图4.3所示为党建管理系统的功能分解图中,每个功能的详细描述如下。
(1)党组织管理。党组织管理主要包括党组织信息一览、党组织管理、用户管理、个人信息和用户日志。党组织信息一览,主要提供当前党组织和其下级党组织中各种党委、党支部等信息的统计,以及不同性质组织的统计和党组织数据的变更等,并通过文件导出的形式提供数据。党组织管理,主要是通过对每一个党组织分配一个党务管理员的形式,对党组织的信息进行维护,包括当前党组织信息和下级党组织信息。主要负责党组织自身信息维护、日常活动记录、民主评议记录以及包括党代会在内的各种会议结果的记录与管理。
(2)民主评议。民主评议主要包括资讯分类、个人评议和组织内评议,用于记录党组织内部各种评议的结果和详细信息,包括对党组织的评议和对组织内部成员的评议结果。
(3)党员管理。党员管理包括党员队伍一览和党员信息管理。党员队伍一览,与党组织一览功能类似,主要是当前组织内成员在数量、年龄分布、学历分布、成分分布、本年度组织被发展党员情况以及受表彰情况的整体统计,并提供数据的导出服务。党员信息管理是党建管理系统的核心,主要提供了党员个人信息管理、党籍信息管理、发展培养情况(针对培养对象)、业务情况(奖励、处分等),并提供了人员从积极分子、发展对象、预备党员到正式党员的全部处理流程。
(4)报表管理。报表管理分为报表定义、报表材料管理、报表说明管理三个模块。报表定义主要用于系统中管理员自定义报表的情况。党建系统中报表材料分为共有和自定义两大类。共有材料主要由系统下发,所有的党组织都可以使用,而自定义材料则是不同党组织内部根据自身独特的业务情况自定义的报表格式;报表材料管理是本文所建党建管理系统的核心之一,党建系统中大部分数据的处理和流动都是以报表材料的形式进行的;报表材料管理提供了党务报表在类别、属性、格式、导出等方28
第四章 系统设计与实现
面的服务,党务管理员快速查询、变更报表材料提供了便利;报表说明管理主要是针对报表的格式和填写的注意事项提供的说明信息,用于辅助报表材料的使用。
(5)党费收缴管理。主要提供了党建系统中人员的党费收缴服务,包括党费缴纳登记、党费缴纳查询以及党费基数变更等服务。
4.3 数据库设计
在本文的需求分析阶段,本文完成了党建系统的数据建模工作,识别了系统中的实体和实体间的关系,并给出了系统的概念ER图模型。基于前节的基础,根据概念ER图模型,本节将给出系统的数据库物理设计,包括表名称、字段、主外键约束等,并保证平台数据库满足第三范式,如图4.14所示即为数据库物理设计模型。其中,每个物理实体对应的系统中的所有表及对应的简单说明,如表4.1所示。
PersonCommentidmember_idstart_int
图4.4 数据库的物理结构图
29
西安电子科技大学硕士学位论文
表4.1数据库表简介
表名称
Manager
Private
OptionLog
ChangeLog
Orgnization
PersonComment
OrgnizationComment
Meeting
Member
CostRate
Payment
FormType
Form
FormExplain
中文说明 简要介绍
管理员信息表 记录系统中不同党组织的管理员信息
权限表
操作日志表
数据变更表
组织信息表
个人评议表
组织评议表
会议记录表
党员信息表
党费基数表
党费记录表
报表类型表
报表信息表
报表说明表
记录平台授权人员权限范围
记录不同操作人员进行的各种操作
记录系统中有关数据变更的记录
用于记录系统中所有党组织信息
党建系统中对于成员的评议结果
记录党建系统中对于组织的评议结果
记录党代会和组织生活会的记录结果
记录党建系统中的所有党组织成员
用于记录党费缴纳基数,不同的员工可能使用不同基数
记录党组织中不同成员按照月份缴纳的党费信息
用于表征不同类型的报表材料
用于记录系统中报表材料信息,包括报表文件url、创建者
用于说明报表内容、格式和填写中的注意事项
党建系统共包括14张数据库表,先对各个表的字段、是否主外键以表的形式进行详细说明。
表4.2 党员评议表字段说明
字段名称
id
Member_id
Start_time
End_time
Reason
Result
Mark
字段属性
int(11)
int(11)
Date
Date
Text
Text
Text
30
字段简介
评议记录编号
党员编号
评议起始时间
评议结束时间
评议原因
评议结果
备注信息
备注
主键
外键
第四章 系统设计与实现
表4.2所示为党费缴纳记录表,主要用于记录各个党员缴纳党费的记录信息。
表4.3 党费缴纳记录表字段说明
字段名称
Id
Rate_id
Mem_id
Pay_time
Excepted_cost
Real_cost
Mark
字段属性
int(11)
int(11)
int(11)
Date
Number(8,2)
Number(8,2)
Text
字段简介
缴纳付费记录编号
党费基数编号
党员编号
缴纳党费时间
应交党费
实缴党费
备注信息
备注
主键
外键
外键
党费缴纳基数表主要用于调整不同人员所缴党费占工资的比例,借此实现调整不同人员所缴纳的党费数量。
表4.4 党费基数表字段说明
字段名称
Id
Rate
createTime
Mark
字段属性
int(11)
Number(3,2)
Date
Text
字段简介
基数编号
缴纳比例
创建时间
备注信息
备注
主键
变更日志表主要用于记录数据变更的记录信息,包括数据的增加、修改、删除和导出等记录,如表4.5所示。
表4.5 变更日志表字段说明
字段名称
Id
Manager_id
option
Tables
createTime
Mark
字段属性
int(11)
int(11)
varchar (100)
varchar(100)
Date
Text
字段简介
日志编号
变更管理员编号
操作类型
操作变更表名称
操作时间
备注信息
备注
主键
外键
为保证系统操作的安全性,设置操作日志表,如表4.6所示,用于记录操作人员编号、所做的操作、操作内容描述以及操作时间等关键信息,使得系统操作有据可查。表4.7 党员信息表针对党员个人的基本信息。表4.8会议记录表主要用于当前组织内31
西安电子科技大学硕士学位论文
的党代会和组织生活会的记录信息。
表4.6 操作日志表字段说明
字段名称
Id
Manager_id
Option
createTime
Mark
字段属性
int(11)
int(11)
varchar (20)
Date
Text
字段简介
操作日志记录编号
操作管理员编号
操作类型
创建时间
备注信息
备注
主键
外键
表4.7 党员信息表字段说明
字段名称
Id
Org_id
Rate_id
Name
Sex
Phone
Address
Birth
Degree
Education
Join_time
Org_relation
字段属性
int(11)
int(11)
int(11)
varchar(30)
Char(2)
Char(20)
Char(100)
Date
Char(100)
Char(100)
Char(30)
Date
Char(100)
字段简介
党员编号
党组织编号
党费缴纳基数
姓名
性别
联系电话
居住地址
出生日期
学位
学历
邮件地址
转入组织日期
当前组织关系
备注
主键
外键
表4.8 会议记录表字段说明
字段名称
Id
orgId
start_time
End_time
Owner_id
Position
Result
Member_count
字段属性
int(11)
Int(11)
Date
Date
Int(11)
Char(100)
Text
Int(11)
32
字段简介
会议记录编号
会议所属组织编号
会议开始时间
会议结束时间
负责人编号
会议地址
评议结果
参与人员数量
备注
主键
第四章 系统设计与实现
表4.9所示权限表主要用于控制系统中对于不同数据的访问。如表4.10所示管理员信息表主要用于存储系统中不同党组织的管理员信息。表4.11所示党组织信息表主要用于保存当前党组织的信息。
表4.9 权限表字段说明
字段名称
Id
Type
Mark
Create_time
Modify_time
字段属性
int(11)
Char(10)
Text
Date
Date
字段简介
权限编号
权限类型
备注信息
创建时间
修改时间
备注
主键
表4.10 管理员信息表字段说明
字段名称
Id
Org_id
Pri_id
Name
Sex
Phone
Address
Password
createtime
字段属性
int(11)
int(11)
int(11)
Char(30)
Char(2)
Char(30)
Char(50)
Char(64)
Date
字段简介
管理员编号
组织编号
权限编号
姓名
性别
联系电话
通讯地址
加密后的密码
记录创建时间
备注
主键
外键
外键
表4.11 党组织信息表字段说明
字段名称
Id
Org_code
Name
Type
Owner
Phone
buildTime
Address
Level
Count
字段属性
int(11)
varchar(20)
Char(100)
Char(100)
Char(100)
Char(20)
Date
Char(100)
Char(20)
Int
33
字段简介
组织编号
组织编码
组织名称
组织性质
负责人
办公电话
创建时间
地址
行政级别
组织内成员数量
备注
主键
西安电子科技大学硕士学位论文
表4.12所示组织评议表主要用于存储当前组织的评议结果。表4.13所示报表类型表主要用于表征报表所属的类型、时间等信息。表4.14所示报表信息表主要用于存储党建系统相关报表的属性信息。
表4.12 引擎信息表字段说明
字段名称
Id
Orgnization_id
Start_time
End_time
Position
Topic
Content
Excepted_count
Real_count
Mark
字段属性
int(11)
int(11)
Date
Date
Char(100)
Text
Text
Int
Int
Text
字段简介
评议记录编号
组织编号
开始时间
结束时间
会议地点
评议主题
评议内容
应到人数
实到人数
备注信息
备注
主键
外键
表4.13 报表类型表字段说明
字段名称
Id
Type
Create_time
Modify_time
mark
字段属性
int(11)
Char(100)
Date
Date
varchar(100)
字段简介
类型编号
类别名称
创建时间
修改时间
备注信息
备注
主键
表4.14 错误日志表字段说明
字段名称
Id
Man_id
Org_id
For_id
Name
Fil_size
File_url
Mark
字段属性
int(11)
int(11)
Int(11)
Int(11)
Char(100)
Int
Text
Text
34
字段简介
文件编号
创建者编号
所属组织编号
文件类别编号
文件名称
文件大小
文件实体url
备注信息
备注
主键
外键
外键
外键
第四章 系统设计与实现
表4.15所示报表说明表主要用于说明报表的内容、格式和填写说明等方面的注意事项。
表4.15 报表说明表字段说明
字段名称
Id
Form_id
Name
Size
Rows
Columns
Content
Mark
字段属性
int(11)
int(11)
Char(100)
Int
Int
Int
Text
Text
字段简介
说明文件编号
被说明文件编号
说明文件名称
文件大小
行数
列数
说明内容
备注信息
备注
主键
外键
4.4 系统功能模块设计与实现
在给出党建管理系统的功能分解结构和数据库之后,接下来基于系统架构设计分模块的对各个子模块进行详细的设计与实现。针对每个子模块中业务逻辑的不同,主要是识别各个模块中的类,并以序列图的方式表示各个功能类的实例在时间序列上是如何相互协作完成一个功能的。
4.4.1 党组织管理功能的设计与实现
图4.5所示为党组织管理类图,其中系统主要分为四类:请求消息类型(负责定义当前消息的请求类型)、结果返回类型(定义数据交换格式)、实体类(映射数据库中表结构)以及业务功能类(负责处理具体的业务逻辑流程)。现在分别进行详细说明。
(1)OrgnizationController控制器
首先,定义一个该控制器作为业务层处理党组织管理请求的入口,定义了dealOrgnizationRequest方法,接收RequestEntity参数,从此参数中获取管理员在登录时系统为其分配的randomId,然后根据该id获取查询组织信息和管理员信息,并基于此判断,当前请求是否合法。如果合法,则解析对应的请求类型,调用OrgnizationService中对应方法,在返回后对数据进行包装,转化为ResponseEntity数35
西安电子科技大学硕士学位论文
据格式,发送给客户端。
class 党组织管理类图RequestEntity-
-
-
requestType: StringrandomID: Stringparams: Map
-
-
ResponseEntityrequestType: Stringstatus: intdata: Map
-
-
OgnizationController-
-
-
-
requestEntity: RequestEntityresponseEntity: ResponseEntityprivateService: PrivateServiceOgnizationService: ognizationServicemanagerId: intorgId: intorgName: StringPrivateEntity-
-
-
id: intname: Stringtype: StringManager-
-
-
-
managerId: intname: intorgId: intprivateId: int+ dealOgnizationRequest(re): ResponseEntity+ checkRandomId(String): intOgnizationService-
OptionLogEntity-
-
-
-
id: intoptionId: intoptionType: StringoptionTime: String+
+
+
+
+
+
+
+
+
ognizationMapper: OgnizationMapperqueryOrgnization(int): List
-
-
-
-
ChangeLogEntityid: intoptionId: intoptionTime: DateoptionTable: StringoptionType: StringDataSource- sqlSessionFactory: SqlSessionFactory+ getSqlSessionFactory(): SqlSessionFactory+
+
+
+
+
+
OgnizationMapperqueryOgnization(int): List
(2)OrgnizationService服务类
该类被OrgnizationController控制器调用,具体处理党组织管理的请求,包括根据管理员信息刷选管理的党组织列表,录入新的党组织信息、删除党组织信息以及在导出党组织信息时所做的鉴权操作和日志记录等操作。
(3)PrivateEntity实体类
该类作为系统记录操作权限的类,通过type字段实现日志的检查,type字段包括了读、写、导出等三类操作的说明,如果type字段中对应的操作不包括当前操作,则不允许进行操作。
(4)OptionLogEntity实体类
该类用于记录管理员的各种操作的日志实体,主要记录管理员的操作时间、操作类型、操作员标号等信息。
(5)DataSource类
该类属于业务逻辑层的业务逻辑类,主要通过解析配置文件的形式实现数据库自动配置,通过与Mapper类(由MyBatis提供)的搭配,实现数据访问接口的动态代理生成,从而实现SQL定义到SQL执行的过程。
36
第四章 系统设计与实现
(6)OrgnizationMapper
该类主要是利用MyBatis实现数据库的SQL访问。其主要作用是定义了OrgnizationService中各种功能的SQL实现,主要包括insert、update、delete、select等标签。通过对标签中的参数列表和返回值类型的解析,实现数据库访问,屏蔽了具体的数据库访问逻辑细节,使得用户开发更为简便快捷。
(7)Orgnization类
Orgnization类为组织信息类,该类为一个实体类,主要与数据库中的党组织信息对应,便于在业务逻辑中获取党组织信息或者操作党组织信息。
(8)Manager类
Manager类是员作为管理员信息类,与业务逻辑中的管理员数据结构相对应,对应于物理世界中的每个党组织的管理员。每一个管理都会分配一个权限编号,在进行相关操作时,需要检查管理员的操作权限。
(9)ChangeLogEntity
该类主要用于记录数据变更方面的操作,对于select等操作,该实体并不会记录,只记录update、delete、insert、export等操作涉及到的表名称。
在给出静态的党组织管理模块的类图之后,该需要给出具体的每个类的实例之间是如何进行交互的,因此给出党组织管理模块对应的序列图如图4.6所示。
sd 党组织管理序列图:PC客户端管理员获取党组织列表()getOrgLists(RequestEntity re):ResponseEntitycheckRandomId(): booleandealOrgnizationRequest(RequestEntityre): ResponseEntity:OrgnizationController:OrgnizationService:OrgnizationMapper:数据库queryOrgnization(int managerId):List
从图4.6所示的党组织管理序列图可以看出,该功能是由多个对象协作完成。首先,在PC客户端界面,管理员点击党组织管理,客户端向OrgnizationController对象37
西安电子科技大学硕士学位论文
的dealOrgnizationRequest方法发起获取当前管理员名下所有党组织信息的请求。在OrgnizationController接收到请求之后,向OrgnizationService发起请求,通过queryOrgnization方法调用OrgnizationMapper的查询方法,查询数据库中属于该管理员管理名下的所有的党组织信息,并以List
4.4.2 民主评议功能的设计与实现
民主评议功能管理模块,主要用于记录日常生活中发生在党组织内部的组织评议结果和成员评议结果。如图4.7所示为民主评议模块的类图。
class 民主评议类图RequestEntity-
-
-
requestType: StringrandomID: Stringparams: Map
-
-
ResponseEntityrequestType: Stringstatus: intdata: Map
-
-
-
managerId: intname: intorgId: intprivateId: intCommentController-
-
-
requestEntity: RequestEntityresponseEntity: ResponseEntitycommentService: CommentServiceOgnization-
-
-
managerId: intorgId: intorgName: String+ dealCommentRequest(RequestEntity): ResponseEntity+ checkRandomId(String): booleanCommentServiceComment-
-
-
-
orgId: intname: Stringtime: Datetopic: String-
+
+
+
+
+
+
commentMapper: CommentMapperaddOrgnizationComment(Comment): booleaneditOrgnizationComment(Comment): booleandeleteOrgnizationComment(int): booleanaddPersonComment(Comment): booleaneditPersonComment(Comment): booleandeletePersonComment(int): booleanPersonCommentOrgnizationCommentCommentMapper+
+
+
+
+
+
addOrgComment(Comment): booleaneditOrgComment(Comment): booleandeleteOrgComment(int): booleanaddPerComment(Comment): voideditPerComment(Comment): booleandeletePerComment(int): booleanDataSource- sqlSessionFactory: SqlSessionFactory+ getSqlSessionFactory(): SqlSessionFactory图4.7 民主评议模块类图
民主评议模块主要提供了对党组织和成员的评议接口,主要包括党组织评议结果的增删改查和个人评议结果的增删改查。
模块类图中负责评议结果的控制类为CommentContoller,主要通过dealCommentRequest方法实现对评议信息的管理。本模块对评议信息的管理主要包括两块,OrgnizationComment为党组织评议实体类,PersonComment为成员评议实体类。38
版权声明:本文标题:基于cs架构的党建管理系统的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1705135026a474165.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论