摘 要
本文针对项目管理领域中存在的管理效率低下、信息传递不畅、沟通协作困难等问题,基于SSM框架,设计并实现了一套高效的项目管理系统。该系统主要包括系统用户、通知公告管理、项目信息管理、项目分类管理、合同信息管理、执行记录管理等模块。通过项目信息管理模块,用户可以清晰地记录和管理项目需求,确保项目目标明确;项目分类模块能够将项目任务合理分类,让给相关成员方便进行查找;执行记录模块实时监控项目进展,及时发现和解决问题;合同信息模块能够对项目合同进行分类存储和版本管理,确保合同的完整性和安全性。该系统的实现极大提升了项目管理的效率和质量,为企业提供了强大的支持和保障。
关键词:项目管理;信息系统;SSM;MySQL数据库
Abstract
This paper designs and implements an efficient project management system for the problems of low management efficiency, poor information transmission, and difficult communication and collaboration, based on SSM framework. The system mainly includes the system user, notification and announcement management, project information management, project classification management, contract information management, execution record management and other modules. Through the project information management module, users can clearly record and manage the project requirements to ensure the project objectives; the project classification module can reasonably classify the project tasks to relevant members; the execution record module monitors the project progress in real time and find and solve problems in time; the contract information module can store and manage the project contract to ensure the integrity and security of the contract. The realization of this system has greatly improved the efficiency and quality of project management, and provided strong support and guarantee for enterprises.
Keywords: Project management; information system; SSM; MySQL database
目 录
第1章 绪论
1.1研究背景
项目管理系统是一种可以帮助企业或组织高效管理项目的工具。随着信息技术的发展和应用,越来越多的企业和组织已意识到使用项目管理系统对项目进行规范化管理的重要性。
在传统的项目管理过程中,往往需要大量的人力和物力资源投入,由于信息的不对称和传统的手工记录方式,项目管理的效率低下、成本高昂、信息流动不畅等问题日益凸显。为解决这些问题,许多组织开始使用计算机技术和软件工具来管理项目,从而提高项目管理的质量和效率。
在这样的背景下,本研究旨在设计和实现一个基于SSM(Spring+SpringMVC+MyBatis)框架的项目管理系统,通过利用现代信息技术,提供一个集中化、高效、可靠的项目管理平台。
SSM是目前广泛应用于Java Web开发的一种结构化框架,它将Spring、SpringMVC和MyBatis三大框架有机地结合在一起,提供了良好的分层设计、依赖注入和持久化处理能力。使用SSM框架可以大大减少项目开发的复杂度,提高开发效率和可维护性。
项目管理系统的设计与实现需要考虑到项目的各个阶段和关键要素,包括项目计划、进度管理、资源管理、风险管理、质量管理等。通过使用SSM框架,可以方便地实现这些功能,并提供友好的用户界面,使用户能够轻松地操作和管理项目。
基于SSM框架的项目管理系统还可以与其他系统进行集成,比如人力资源管理系统、财务管理系统等,实现信息的共享和流动,提高整个组织的综合管理水平。
综上所述,基于SSM的项目管理系统的设计与实现对于提升项目管理的效率和质量具有重要意义。通过利用现代信息技术,提供集中化、高效、可靠的项目管理平台,可以为企业和组织的项目管理工作带来简便。
1.2研究意义
设计与实现基于SSM框架的项目管理系统在当前企业和组织中具有重要的研究意义:
提升项目管理效率和质量: 当前,企业和组织进行项目管理往往面临着人力资源投入多、信息流动不畅等问题。基于SSM框架的项目管理系统能够规范项目管理流程,提高管理效率,减少人力资源浪费,从而大幅提升项目管理的效率和质量。
降低项目管理成本: 传统项目管理往往需要大量的物力和人力资源投入,而基于SSM框架的项目管理系统可以通过信息化管理,降低人力成本、纸质档案存储和管理成本,从而减少企业项目管理的总体成本。
实现信息集中化管理: 通过项目管理系统,可以将项目的各个环节和数据信息有序、集中地管理起来,实现信息的全面共享和流动,提高信息的传递效率,减少信息的丢失和混乱。
提供数据分析和决策支持: 基于SSM框架的项目管理系统可以实现对项目数据的收集、分析和展示,为相关决策提供可靠的数据支持。管理者可以根据系统提供的数据信息做出更明智的决策,使项目管理更加科学化和有效。
促进组织间协作和沟通: 项目管理系统提供了多种沟通和协作工具,可以方便不同部门或团队之间进行协作和沟通,加强团队之间的协作精神和团队凝聚力,提高整个组织的执行力和协同效率。
支持项目管理最佳实践: 项目管理系统可以集成模块化的项目管理工具和流程,帮助企业或组织更好地遵循项目管理的最佳实践,提高项目管理的规范性和标准化水平。
因此,设计与实现基于SSM框架的项目管理系统不仅可以提高企业和组织的项目管理效率和质量,还可以降低成本、促进组织内部的协作与沟通以及支持决策制定,对于整体提升组织的综合管理水平具有重要的意义。
1.3研究方法
1、通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。
2、在开发工具上,选用SSM框架来设计开发本系统,MySQL作为设计数据库的工具。即利用java语言实现用户界面,并同数据库连接起来实现完整的通信功能。
3、设计出系统大致的功能模块。主要从方便用户和管理员的角度进行分析,明确该系统应该具有的功能。
4、完成系统测试,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统运行的可靠性和稳定性。
1.4论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:绪论。第一章主要介绍了课题研究的背景、意义和本文的研究方法与主要章节安排。
第二章:系统分析。第二章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
第六章:总结。
第2章 系统分析
2.1可行性分析
2.1.1技术可行性分析
SSM是一种基于Java的成熟框架,广泛应用于电子商务领域。采用SSM框架开发有助于提高系统的可拓展性和可维护性,MySQL数据库具有强大的数据处理能力,能够有效的存储和管理系统中的各项数据,因此从技术上来说是可行的。
2.1.2经济可行性分析
SSM框架是开源的,拥有大量的社区支持和丰富的学习资源。使用SSM框架进行开发可以降低开发成本,缩短开发周期。此外,SSM框架具备良好的性能和稳定性,可以降低系统的运行成本和维护成本。因此从经济层面来说是可行的。
2.1.3社会可行性分析
项目管理系统可以有效整合校园项目管理资源,提高项目管理的效率和质量,有助于推动校园项目管理工作的开展。此外,该系统还可以为志愿者提供更加便捷服务,如在线提交报名申请、查看申请审核进度和投诉反馈意见等,从而提高志愿者的参与度和满意度。因此,项目管理系统具有很好的社会可行性。
2.2系统功能分析
2.2.1 功能性分析
按照项目管理系统的角色,主要划分为客户用户和管理员两大功能模块,具体内容如下。
客户用户模块
1、后台首页:客户用户的账号与密码是有管理员设定的,用户通过管理员给的账号和密码登录后,可以修改个人信息与密码。
2、通知公告管理:客户用户可以查看系统的通知公告列表信息,点击某一公告可以查看公告详情。
3、项目信息管理:客户用户可以通过项目名称、项目分类、项目状态进行搜索查找想要的项目信息并可以点击下载文件。
4、合同信息管理:客户用户可以通过项目名称、客户签订进行搜索查找想要的合同信息并可以点击下载合同附件。
5、执行记录管理:客户用户可以通过项目名称订进行搜索查找想要的执行记录信息。
管理员模块
1、后台首页:管理员可以修改个人信息和修改密码。
2、系统用户:管理员可以查看某一用户详情,可以对系统用户进行查询、重置、添加和删除操作。
3、通知公告管理:管理员可以对通知公告信息进行添加,可以查看通知公告列表中的某一活动的详情和评论信息,可以对系统通知公告进行查询、重置、新增和删除操作。
4、项目信息管理:管理员可以查看项目信息列表中的某一活动的详情,可以对项目信息进行查询、重置、新增、删除和上传附件操作。
5、项目分类:管理员可以查看项目分类列表中的某一项目分类详情,可以对项目分类进行查询、重置、新增和删除操作。
6、合同信息管理:管理员可以查看合同信息列表中的某一合同信息详情,可以对报名申请信息进行查询、重置、新增、删除和上传附件操作。
7、执行记录管理:管理员可以查看执行记录列表中的某一执行记录信息详情,可以对执行记录信息进行查询、重置、新增和删除操作。
2.2.2 非功能性分析
项目管理系统的非功能性需求比如系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1项目管理系统非功能需求表
| 安全性 | 主要指项目管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
| 可靠性 | 可靠性是指项目管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
| 性能 | 性能是影响项目管理系统占据市场的必要条件,所以性能最好要佳才好。 |
| 可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
| 易用性 | 用户只要跟着项目管理系统的页面展示内容进行操作,就可以了。 |
| 可维护性 | 项目管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3系统用例分析
通过2.2功能的分析,本系统用户主要分为客户用户和管理员用户,系统用户角色用例图分别如下图2-1,2-2所示:
客户用户用例图如下图2-1所示。

图2-1 客户用户用例图
管理员用例图如下图2-2所示。

图2-2 管理员用例图
2.4系统流程分析
系统流程是用一些特定的符号和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,系统流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
2.4.1 数据增加流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,数据新增数流程图如下图2-3所示。

图2-3 数据新增流程图
2.4.2数据修改流程
数据修改时的流程和上面介绍的数据新增的流程相似,数据修改的流程如下图2-4所示。

图2-4 数据修改流程图
2.4.3数据删除流程
如果系统里面存在一些没用的数据,相关的管理人员还可以对这些数据进行删除,数据删除流程如下图2-5所示。
图2-5数据删除流程图
第3章 系统设计
本章主要讨论的内容包括项目管理系统的功能模块设计、数据库系统设计。
3.1 系统架构设计
本项目管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1项目管理系统架构设计图
表现层(UI):又称UI层,主要完成本项目管理系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本项目管理系统时的舒适度。UI的界面设计也要适应不同版本的项目管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本项目管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本项目管理系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本项目管理系统的数据存储和管理功能。
3.2 系统功能模块设计
3.2.1 整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本项目管理系统中的用例。那么接下来就要开始对项目管理系统主要功能进行设计。项目管理系统根据前面章节的需求分析得出,其总体功能模块图如下图4-2所示。

图3-2 项目管理系统功能模块图
3.2.2用户模块设计
管理员能够实现对系统用户查询、新增、重置和删除操作,用户模块结构图如下图:

图3-3用户模块结构图
3.2.3合同信息模块设计
项目管理系统系统需要展示相关合同信息,其模块功能结构,具体的结构图如下:

图3-4合同信息模块结构图
3.3数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
下面是整个项目管理系统中主要的数据库表总E-R实体关系图。

图4-3项目管理系统E-R图
3.3.2逻辑结构设计
数据库是项目管理系统的数据处理的基础,也是为界面数据的展示与存储的关键。项目管理系统的数据库表如下。
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
| 2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
| 3 | info | text | 65535 | 0 | Y | N | ||
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
| 2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
| 3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
| 4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
| 5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
| 6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
| 7 | position | varchar | 32 | 0 | Y | N | 位置: | |
| 8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
| 14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
| 15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
| 16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
| 17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
| 18 | option | text | 65535 | 0 | Y | N | 配置: | |
| 19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | contract_information_id | int | 10 | 0 | N | Y | 合同信息ID | |
| 2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
| 3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
| 4 | project_classification | varchar | 64 | 0 | Y | N | 项目分类 | |
| 5 | customer_users | int | 10 | 0 | Y | N | 0 | 客户用户 |
| 6 | project_date | date | 10 | 0 | Y | N | 项目日期 | |
| 7 | project_deadline | varchar | 64 | 0 | Y | N | 项目期限 | |
| 8 | appendices_of_a_contract | varchar | 255 | 0 | Y | N | 合同附件 | |
| 9 | content_remarks | text | 65535 | 0 | Y | N | 内容备注 | |
| 10 | customer_signing | varchar | 64 | 0 | Y | N | 客户签订 | |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | customer_users_id | int | 10 | 0 | N | Y | 客户用户ID | |
| 2 | customer_name | varchar | 64 | 0 | Y | N | 客户姓名 | |
| 3 | customer_gender | varchar | 64 | 0 | Y | N | 客户性别 | |
| 4 | customer_phone_number | varchar | 16 | 0 | Y | N | 客户电话 | |
| 5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | execution_records_id | int | 10 | 0 | N | Y | 执行记录ID | |
| 2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
| 3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
| 4 | project_classification | varchar | 64 | 0 | Y | N | 项目分类 | |
| 5 | customer_users | int | 10 | 0 | Y | N | 0 | 客户用户 |
| 6 | execution_date | date | 10 | 0 | Y | N | 执行日期 | |
| 7 | content_of_execution | text | 65535 | 0 | Y | N | 执行内容 | |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表notification_announcement (通知公告)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | notification_announcement_id | int | 10 | 0 | N | Y | 通知公告ID | |
| 2 | announcement_number | varchar | 64 | 0 | Y | N | 公告编号 | |
| 3 | announcement_title | varchar | 64 | 0 | Y | N | 公告标题 | |
| 4 | announcement_date | date | 10 | 0 | Y | N | 公告日期 | |
| 5 | announcement_image | varchar | 255 | 0 | Y | N | 公告图片 | |
| 6 | announcement_content | text | 65535 | 0 | Y | N | 公告内容 | |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表project_classification (项目分类)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | project_classification_id | int | 10 | 0 | N | Y | 项目分类ID | |
| 2 | project_classification | varchar | 64 | 0 | Y | N | 项目分类 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | project_information_id | int | 10 | 0 | N | Y | 项目信息ID | |
| 2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
| 3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
| 4 | project_classification | varchar | 64 | 0 | Y | N | 项目分类 | |
| 5 | customer_users | int | 10 | 0 | Y | N | 0 | 客户用户 |
| 6 | project_status | varchar | 64 | 0 | Y | N | 项目状态 | |
| 7 | project_date | date | 10 | 0 | Y | N | 项目日期 | |
| 8 | project_deadline | varchar | 64 | 0 | Y | N | 项目期限 | |
| 9 | project_attachments | varchar | 255 | 0 | Y | N | 项目附件 | |
| 10 | project_description | text | 65535 | 0 | Y | N | 项目描述 | |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
| 3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
| 4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
| 5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
| 6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
| 7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
| 8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
| 8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
| 9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
| 10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
| 16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
| 3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
第4章 系统实现
4.1客户用户功能模块
4.1.1 后台首页界面
系统后台首页是整个用户界面的功能布局。其界面如下图4-1所示:
图4-1 首页界面图
4.1.2客户用户登录界面
客户用户进入登录页面输入用户账号和密码并点击“登录”按钮,系统会验证输入的信息与数据库中当前保存的用户信息是否一致,验证通过后即可完成登录;否则将会提示相应错误信息。其界面如下图4-2所示:
图4-2 用户登录界面图
登录代码如下:
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
4.1.3 通知公告管理界面
客户用户可以查看系统的通知公告列表信息,点击某一公告可以查看公告详情。
其界面如下图4-3所示:
图4-3 通知公告管理界面图
4.1.4 项目信息管理界面
客户用户可以通过项目名称、项目分类、项目状态进行搜索查找想要的项目信息并可以点击下载文件。其界面如下图4-4所示:
图4-4项目信息管理界面图
4.1.5合同信息管理界面
客户用户可以通过项目名称、客户签订进行搜索查找想要的合同信息并可以点击下载合同附件。其界面如下图4-5所示:
图4-5 合同信息管理界面图
4.1.6执行记录管理界面
客户用户可以通过项目名称订进行搜索查找想要的执行记录信息。其界面如下图4-6所示。
图4-6执行记录管理界面图
4.2管理员功能模块
4.2.1通知公告管理界面
管理员可以对通知公告信息进行添加,可以查看通知公告列表中的某一活动的详情和评论信息,可以对系统通知公告进行查询、重置、新增和删除操作。其界面如下图4-9所示:
图4-9通知公告管理界面图
新增的关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
删除的关键代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
查询的关键代码如下:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
4.2.2系统用户界面
管理员可以查看某一用户详情,可以对系统用户进行查询、重置、新增和删除操作。其界面如下图4-10所示:
图4-10系统用户界面图
4.2.3项目信息管理界面
项目信息管理:管理员可以查看项目信息列表中的某一活动的详情,可以对项目信息进行查询、重置、新增、删除和上传附件操作。其界面如下图4-11所示:
图4-11项目信息管理界面图
附件上传的关键代码如下:
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = request.getSession().getServletContext().getRealPath("\\") +"upload\\";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
String fileName = file.getOriginalFilename();
int lastIndexOf = fileName.lastIndexOf(".");
String suffix = fileName.substring(lastIndexOf);
fileName = IdWorker.getId()+suffix;
File dest = new File(filePath + fileName);
log.info("文件路径:{}", dest.getPath());
log.info("文件名:{}", dest.getName());
file.transferTo(dest);
JSONObject jsonObject = new JSONObject();
jsonObject.put("url", "/api/upload/" + fileName);
return success(jsonObject);
} catch (IOException e) {
log.info("上传失败:{}", e.getMessage());
}
return error(30000, "上传失败");
}
第5章 系统测试
5.1测试的目的
系统开发的最后一个阶段就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就完美的,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的更新提供支持。
5.2测试用例
系统测试包括:用户登录功能、通知公告查看功能、通知公告添加、密码修改功能测试,分别如表5-1、5-2、5-3、5-4、所示:
登录测试用例如下表所示。
表5-1 登录测试用例
| 用例名称 | 用户登录系统 |
| 目的 | 测试用户通过正确的用户名和密码可否登录功能 |
| 前提 | 未登录的情况下 |
| 测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
| 预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
| 实际结果 | 实际结果与预期结果一致 |
通知公告查看功能测试:
表5-2 通知公告查看功能测试表
| 用例名称 | 通知公告查看 |
| 目的 | 测试通知公告查看功能 |
| 前提 | 用户正常登录 |
| 测试流程 | 点击通知公告管理 |
| 预期结果 | 可以查看到所有通知公告 |
| 实际结果 | 实际结果与预期结果一致 |
管理员添加通知公告界面测试:
表5-3 管理员添加通知公告界面测试表
| 用例名称 | 通知公告新增测试用例 |
| 目的 | 测试通知公告新增功能 |
| 前提 | 管理员正常登录情况下 |
| 测试流程 | 1)管理员点击通知公告管理,进入页面点击新增进入通知公告新增页面填写相关信息。 2)信息填写完毕后点击提交。 |
| 预期结果 | 确认提交以后,页面首页会显示新的通知公告 |
| 实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-4 密码修改功能测试表
| 用例名称 | 密码修改测试用例 |
| 目的 | 测试管理员密码修改功能 |
| 前提 | 管理员用户正常登录情况下 |
| 测试流程 | 1)输入原密码和修改密码。 2)点击确认进行提交。 |
| 预期结果 | 使用新的密码可以登录 |
| 实际结果 | 实际结果与预期结果一致 |
5.3测试结果
通过编写房屋租赁管理系统的测试用例,已经检测完毕用户登录功能、通知公告查看功能、通知公告添加、密码修改功能测试,通过这四大模块为项目管理系统的后期推广运营提供了强有力的技术支撑。
第6章 结论
在开发项目管理系统之前,我们需对用户的实际需求进行深度剖析。这不仅包括对系统的可行性研究,还包括对功能需求和其他需求的分析。在可行性分析阶段,我们从技术性和经济性等多个角度对系统实现的可能性进行了全面评估,结果表明,该系统的实施是可行的。
本文首先概述了项目管理系统开发的背景及其意义,接着详细阐述了系统的具体业务需求,并根据这些需求对系统的结构以及功能模块进行设计。我们把这个系统划分为多个功能模块,每个模块都具有其独特的功能和作用。
在深入分析系统功能需求的过程中,我们对系统的总体架构和功能模块进行了深入研究,并选择了最适合的系统开发技术来完成各个模块的开发工作。系统开发完成后,我们进行了系统的测试。测试结果表明,该系统在功能和性能方面都满足了预期的要求,具有较好的稳定性和可靠性。
参考文献
[1]王建国,张争,汤来锋,等.基于SSM框架的学生信息管理系统的设计与实现[J].现代信息科技,2024,8(07):30-33.DOI:10.19850/j.cnki.2096-4706.2024.07.007.
[2]宋蕙帆.基于SSM的精准就业服务平台设计与实现[J].科技创新与应用,2024,14(08):102-105.DOI:10.19981/j.CN23-1581/G3.2024.08.023.
[3]朴明,于湘菲.基于SSM框架技术的线上工艺品商城设计与实现[J].造纸装备及材料,2024,53(02):85-87.
[4]袁爱平,陈畅,孙士兵,等.基于SSM框架的高校学生信息管理系统设计与实现[J].工业控制计算机,2023,36(12):127-129.
[5]王文静,国育家,贾康铖.基于Spring Boot的信息化项目管理系统的设计与实现[J].信息技术与信息化,2023,(11):113-116.
[6]梁旭阳.测试业务管理系统的设计与实现[D].北京邮电大学,2023.DOI:10.26969/d.cnki.gbydu.2023.001560.
[7]满春梅.基于B/S架构的建筑工程项目管理系统设计与功能实现[J].科学技术创新,2023,(18):180-183.
[8]吴恩政,秦丽娟,赵逸君,等.基于工作流的地勘项目管理系统设计与实现[J].资源环境与工程,2023,37(03):350-356.DOI:10.16536/j.cnki.issn.1671-1211.2023.03.013.
[9]谢一丹.基于openEuler的项目管理系统的设计与实现[D].中北大学,2023.DOI:10.27470/d.cnki.ghbgc.2023.000225.
[10]刘同.基于CMM的软件项目管理系统的设计与实现[J].数字技术与应用,2023,41(04):199-201.DOI:10.19695/j.cnki.cn12-1369.2023.04.60.
[11]潘哲宁.无线电台管理局经济项目管理系统的设计与实现[J].广播电视信息,2023,30(04):93-95.DOI:10.16045/j.cnki.rti.2023.04.022.
[12]张雨竹.网络安全等级保护测评项目管理系统的设计与实现[D].西南大学,2023.DOI:10.27684/d.cnki.gxndx.2023.002901.
[13]农仕琼.科研项目管理系统的设计与实现研究[J].互联网周刊,2023,(07):53-55.
[14]杨锡森.基于履约管理的项目管理系统设计与实现[J].科技创新与应用,2023,13(09):123-126.DOI:10.19981/j.CN23-1581/G3.2023.09.030.
[15]Xinsheng H ,Haibo X .Design and Implementation of Project Schedule Management Data Collection and Analysis System[J].Journal of Physics: Conference Series,2023,2425(1):
[16]Chenyi Z ,Qilin C .Retraction Note: Design and implementation of intelligent manufacturing project management system based on bill of material[J].Cluster Computing,2022,26(1s):91-91.
[17]Chen Y ,Lv T .Design and implementation of longitudinal project management system[J].Information Systems and Economics,2021,2(1):
[18]Victor J ,Paulo A ,Gabriela F .Using Agile Project Management in the Design and Implementation of Activity-Based Costing Systems[J].Sustainability,2020,12(24):10352-10352.
[19]Zhang X ,Wang M ,Banks S M , et al.Design and Delivery of an Online Information Systems Management Course for MBA Programs[J].Journal of Information Technology Education Innovations in Practice,2020,19047-074.
[20]Zhou C ,Cao Q .Design and implementation of intelligent manufacturing project management system based on bill of material[J].Cluster Computing: The Journal of Networks, Software Tools and Applications,2019,22(5):8647-8655.
致谢
我首先要感谢我的论文指导老师。在论文的完成过程中,是在指导老师的精心指导下完成的。在论文的完成过程之中,导师对我的耐心地指导,提出了建设性意见给了我巨大的帮助,倾注了大量的心血。导师严谨的治学态度、一丝不苟的敬业精神、高水平的教学能力都给我树立了成功的典范,这对于我以后的生活和学习中都起到了积极的影响。
与此同时,我还要感谢我班的同学们对我的关怀和帮助,他们又是我的同学,又是我的朋友,同时也是我学习的榜样。正是由于大家给予我的大力支持才使我顺利地完成了大学学业,感谢在大学期间给予我帮助的所有老师和同学们。
最后,我还要感谢我的父母,你们的养育之恩我永远不会忘记,将来我也要用我的成绩回报你们。
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、文案&spm=1001.2101.3001.5002&articleId=144876234&d=1&t=3&u=84d92dd848e140d09f4ac70a824dc3f8)

被折叠的 条评论
为什么被折叠?



