在当前的大型应用开发过程中,需要将开发的过程规范化、清晰化、可视化;这样可以便于资源管理和信息溯源,对于各个部门的协调配合起着非常重要的作用。如果不对项目进行管理,可能会造成人员、资源调度的混乱和部门间合作的不协调,而我们的项目管理系统就是在此需求下诞生的。
帮助小型企业和工作室,对项目的开发过程做梳理,对资源、人员做管理,以达到清晰和高效、可溯源的软件开发体系;为企业节省人力物力和时间资源,同时规范化软件开发流程。
项目管理系统是依靠若依框架进行二次开发的一个软件管理系统,我们需要在这个web框架上进行个性化API的添加和对数据库进行管理,在前后端中使用SpringMVC在IDEA进行开发,数据库使用MySQL数据库,使用servlet和JavaScript在若依框架基础上添加和修改页面。技术上完全可行。
在项目管理系统中,我们主要提供了项目的申请和审核功能,在项目的申请中,有资金的申请和任务、项目模块的申请;同时审核人员对项目资金的申请进行审核,对任务、项目模块开发进行审核和任务分配;审核人员可以查看项目列表,项目的详细信息的资金流动情况。这些功能以及可以支撑起项目管理系统正常使用。
该项目帮助小型企业或工作室进行项目的管理,无任何负面影响。
小型企业和工作室是项目管理系统的主要目标用户。
在软件、网页、模块等项目的开发中,对资金和开发过程进行细致入微的管理。
项目管理系统包含项目申请和项目审核、查看资金流动三个主要模块;项目申请在填写项目的详细信息和资金需求量后,提交到数据库,由审核人员进行审核,主要进行资金的审核和任务的审核、分配,若审核通过,则会在数据库中更新该项目的状态为申请通过;在开发过程中,审核人员可以对单个项目的资金流动情况进行查看,对任务的开发情况进行验收。(如下图所示)
系统维护人员:项目申请和项目审核模块,总揽全局。以及用户管理模块,对系统的使用进行维护,并负责用户权限的分配。
管理人员:项目审核模块,对开发人员提交的项目开发与资金申请进行评审并进行开发任务的分配。
开发人员:项目申请模块,申请开发任务和资金。
my_project_table是项目申请表,用于存储项目申请时的信息;
my_task_table是任务申请表,用于存储项目模块开发时新任务的提交,其中project_id依赖于my_project_table的主键project_id;
my_project_conduct_table是项目资金表,主键依赖于my_project_table的主键projec_id
money_change_table是资金的变化表,主键为投资id,project_id依赖于my_project_table的主键,money会同步my_project_conduct_table的balance表项,change_describe会获取my_task_table的task_id和task_money,对资金流动进行记录。
系统成功运行后,可通过用户名和密码进行登录。通过与数据库的校验判断其合法性而后依照不同角色显示不同的功能模块。
开发人员可以通过项目申请模块进入项目信息和资金详情界面,并以此进行项目或任务的申请和资金的申请。
管理人员可以通过项目审核模块进行项目信息的查阅和审核以及任务的分配。并对资金流进行管理。
维护人员可以进入系统的所有内容进行维护,并借助若依用户管理管理系统用户。
构建基本数据类型使4种项目所需的数据为其子类。通过Service调用对应的ServiceImpl使用mybatis的Mapper接口对数据库进行增删改查操作。以实现系统的主要功能。
以上界面主要展示了本系统的主页以及大的功能目录,用户可根据需要选择进入页面。
在上述审核页面中,用户可以通过点击项目名进入项目进度管理审核页面。通过审核按钮可以调整项目状态和项目基本信息。资金审核界面可以审查资金流。资金详情界面可以看到当前项目可用资金,已花费资金和经费总额。
上述申请界面中,通过点击项目名进入项目进度管理申请页面,进行任务申请和调度,通过添加和导出按钮可以添加新的项目信息和导出当前已存在的项目基本信息表。点击资金申请按钮已申请项目经费,点击资金详情按钮以查看当前项目资金情况。
在4.2,4.3两个页面中,用户均可以通过上方的搜索栏根据需要查询相应的项目资料。
本次任务是完成一个软件项目管理系统,帮助小型企业或工作室进行简单的项目管理。我们首先进行了一系列的调研,通过观察以及使用了解市面上其他优秀的项目管理软件并结合所学知识分析了常见的软件开发的业务流程以了解用户的需求,确定软件的功能和性能要求。
之后,我们根据以上内容开始着手设计软件的功能模块和数据结构,并绘制出系统流程图以确定软件架构和开发方案。确定以若依系统进行二次开发以满足我们的开发需求。在开发过程中认真回顾并学习了Mybatis的配置和应用、数据库的设计和若依系统的使用。
在以上过程当中,通过团队成员相互合作,及时沟通、将所学知识联系项目内容进行实践、在设计和开发过程中不断遇到问题,解决问题。最终成功完成了这个项目,并在规定的时间内完成了所有的任务。
本次任务的完成,让我深刻体会到团队沟通合作的重要性。只有大家齐心协力,才能够完成一个复杂的项目。此外,我也学到了很多新的知识并将所学成功应用于该项目的开发当中,发现并补足了在学习过程中的不足,较好的锻炼了独立思考和解决问题的能力,为以后的实习或工作提供了宝贵的项目经验。
写在后面: 本次课设借助了优秀开源项目若依系统。在此基础上依照作者的想象和调查构建了简陋的软件项目管理流程。距离成熟的企业及项目管理还有很大的差距,仅起到了学习和巩固的作用。于此记之,再接再厉。