基于工作流技术的项目管理系统设计与实现的中期报告.docx
基于工作流技术的项目管理系统设计与实现的中期报告
1.项目概述
本项目旨在设计和实现一套基于工作流技术的项目管理系统,以实现项目进度的高效管理和协同工作的高效性。该系统主要包括以下功能:
-项目的创建,包括项目名称、项目描述、项目负责人等信息;
-任务的分配和管理,支持任务的创建、分配、编辑、删除和查询;
-工作流的配置和管理,支持工作流的创建、编辑和删除;
-工作流的执行和跟踪,支持任务的自动化处理和状态的跟踪;
-用户和权限管理,支持用户的注册、登录、角色和权限的配置。
2.需求分析
2.1.用户需求
-支持多种工作流模板供选择;
-支持多级任务的设置和分配;
-支持即时消息推送机制,让任务负责人或任务参与者及时知晓任务状态变化等信息;
-支持数据可视化:图表化数据分析、数据仪表盘等;
-通过移动端实现对项目信息的实时查询及任务的管理。
2.2.系统需求
-数据库管理:记录用户信息、项目信息、任务信息等相关数据;
-工作流引擎:负责任务流程图的创建、编辑、模板化、控制模板状态的维护等工作;
-Web前端界面:让用户可以方便快捷地管理任务,包括生成、查询、分配、编辑和删除任务等;
-移动端界面:能够实现移动端对任务的管理。
3.技术选择和分析
考虑到实现该系统需要涉及到前后端技术以及数据库和工作流引擎等方面的知识,因此我们选择了以下技术:
-前端:Vue.js、Element-UI、Axios等库和NPM包;
-后端:SpringBoot、SpringDataJPA、SpringSecurity等框架;
-数据库:MySQL;
-工作流引擎:Activiti。
Vue.js是一个前端框架,可以帮助我们构建单页面应用,Element-UI提供许多预定义的组件,可以大幅减少我们编写UI界面的时间和难度。Axios可以帮助我们使用HTTP协议进行前端和后端的通信。
SpringBoot可以让我们快速搭建基于Java的MVC框架,并且它还提供了SpringSecurity,可以对用户和权限进行管理。SpringDataJPA可以大幅简化对数据库的访问和操作,使我们能够更加专注于业务逻辑的处理。使用Activiti工作流引擎可以方便地实现任务工作流的处理和状态跟踪。
MySQL是一个常用的关系型数据库,具备稳定、性能好的特点。同时,我们也选择使用MySQL数据库来存储系统所需要的数据。
4.项目实现进展
截至目前,我们已完成了项目的数据库设计和搭建,包含用户、角色、项目、任务等相关表格。
在前端方面,我们已经完成了登录/注册、任务管理、工作流管理等页面的设计和编码。
在后端方面,我们已经完成了安全配置、数据库连接、User和Role的授权管理等部分逻辑的编写和实现。
接下来,我们将会继续完善系统的功能和交互体验,加入新的技术,尽可能让系统实现更多的便捷和特性。