论文部分内容阅读
随着互联网的不断发展,信息技术和云技术广泛应用于各行各业,为各种信息管理工作带来了极大便利。然而,目前很多高校在校园招聘审核、职称评定以及会议组织等方面,仍然处于一种半人工半计算机的实施状态,比如校园招聘、职称评定、学位审核和项目申请等学术评审工作,或采用邮件与微信混合、或是人工组织的形式,缺乏统一的信息化管理与服务,严重影响了工作效率,也不符合校园信息化的趋势。因而,本硕士论文选题基于微服务架构的校园评审系统的设计与实现,从实际需求出发,研究实践利用微服务架构模式及其相关技术框架来设计和实现评审系统。期望带给评审系统更好的可扩展性和灵活性,并实践和锻炼自己在专业硕士研修期间学习和积累的有关软件工程的知识、方法和技术,尤其是微服务架构系统的概念、特征和开发方法。为此,本论文进行的实践工作主要包括:(1)需求分析:为了准确捕获评审系统的功能需求,本文运用需求建模的方法,从用户角色的角度,设计了普通用户用例、学术秘书用例、学术委员用例以及管理员用例四大用例,并采用用例规约的方式进行表述。通过需求分析,明确了系统应实现用户管理、权限控制、通知发布、申请管理、申请审核、会议组织、文件上传下载、消息发送以及支持自定义评审工作流的功能;(2)架构设计:本文结合需求阶段的用例规约,进一步设计评审系统业务功能,并建立用例的时序图模型和概念类模型,为服务划分和详细设计提供依据。然后按照业务功能划分微服务,为评审系统设计了用户服务、通知服务、申请评审服务、会议服务、工作流服务五个业务服务。接着分析了微服务系统在服务发现、负载均衡、服务容错、配置管理和网关设计方面的挑战,并通过设计注册中心服务、配置管理服务和网关服务三个基础组件服务来应对相应的挑战。最后完成评审系统业务服务和基础组件服务的架构设计;(3)详细设计:结合上一阶段微服务的架构设计,本文采用Spring Cloud技术框架来详细设计基础组件服务,包括利用Eureka实现注册中心服务,Config Server实现配置管理服务,Zuul服务实现路由网关服务,并在网关服务整合Ribbon和Hytrix实现负载均衡和服务容错。然后进行业务服务的详细设计,包括利用Spring Boot框架和MVC模式来设计业务服务层次架构,结合时序图模型和概念类模型,设计业务服务的接口和程序类构成。最后采用前后端分离的开发模式,使用Vue+Element UI实现系统前端界面,JWT实现接口鉴权,并通过Axios调用后端服务接口以实现前后端项目整合;(4)测试与部署:微服务接口的测试最为重要,为了保证服务接口能够按正确的格式传输正确的数据,本文着重进行服务接口测试,为每个微服务设计了对应的接口测试用例,并采用Postman接口测试工具,来模拟调用微服务接口。测试通过后,使用Vue脚手架和maven技术分别打包和部署前后端项目。最后是总结与展望,介绍项目实践的体会和存在的不足。实现的评审系统基本达到了预期目标,实践过程也锻炼了我微服务系统的开发能力,可以为微服务的设计和实现提供一定的参考价值。