版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
III基于SSM框架的飞机零部件制造进度管理系统设计摘要:近年来,飞机已经成为了我们日常生活中非常普遍的交通工具,因为其便利和快速受到了很多人的喜爱,其数量也保持较快增长。在这种环境下,飞机制造的进度监控就变得尤为重要。本文立足于当今社会的发展,设计一款飞机制造进度管理系统,解决飞机在制造过程中进度监控不准确所造成的进度延误等问题,进一步提高企业的生产水平。本文从目前的国内外研究现状总结出当前飞机制造进度管理系统存在的不足,并且使用SSM框架进行开发。然后按照软件开发流程进行系统的设计和实现。本系统均需从后台登录到系统,根据不同的用户权限,来展示不同的功能模块。管理员可以管理项目、管理人员信息、任务分配、查看进度分析等,普通用户可以查看修改个人信息、搜索和下载图纸文件、查看任务、查看公告、查看任务分析等。最后对该系统的主要功能进行测试,保障系统的可靠性。关键词:飞机制造;进度管理;SSM目录TOC\o"1-3"\h\u1绪论 11.1选题背景和研究意义 11.1.1选题背景 11.1.2研究意义 11.2国内外研究现状 11.2.1国外研究现状 11.2.2国内研究现状 11.3论文主要研究内容 21.4拟采用的研究手段 21.5论文组织结构 32关键技术介绍 42.1系统开发环境 42.1.1IntelliJIDEA简介 42.1.2开发环境 42.2Java简介 42.3开发框架简介 42.3.1Spring框架介绍 42.3.2SpringMVC框架介绍 42.3.3MyBatis持久层框架 42.3.4Bootstrap前端框架 52.4Thymeleaf简介 52.5JavaScript简介 52.6数据库 52.6.1MySQL数据库介绍 52.6.2Navicat数据库管理工具 52.7小结 53系统可行性和需求分析 63.1可行性分析 63.1.1技术可行性 63.1.2经济可行性 63.1.3操作可行性 63.2功能需求分析 63.2.1管理员功能分析 73.2.2普通用户功能分析 73.3数据需求分析 83.3.1数据表需求分析 83.3.2E-R图分析 93.4小结 94系统概要设计 104.1系统功能结构 104.2系统流程 104.2.1设计流程的必要性 104.2.2登录注册 104.2.3图纸文件操作 114.2.4任务进度管理 124.3小结 145系统详细设计 155.1数据库 155.1.1实体与属性的设计 155.1.2数据库表的设计 175.2普通用户功能模块的设计实现 215.2.1注册及登录 215.2.2图纸下载模块 225.2.3个人中心 235.2.4项目查询模块 245.2.5任务分析 255.2.6任务查询模块 265.3管理员功能模块的设计实现 265.3.1项目管理模块 265.3.2文件管理模块 275.3.3项目分析 285.3.4机型管理模块 295.4小结 306系统测试 316.1测试环境和内容 316.1.1测试环境 316.1.2测试内容 316.2测试方法 316.3功能测试 316.4发现问题及解决方法 336.4.1发现问题 336.4.2解决方法 336.5小结 337结论 347.1总结 347.2展望 34参考文献 351绪论1.1选题背景和研究意义1.1.1选题背景随着社会的发展,飞机不仅在军事上发挥着重要作用,还给人们带来了更加便捷的出行方式,但是由于飞机的零部件极多并且对精密度的要求极高,因此对飞机制造过程的管理是非常重要的[1]。传统的飞机制造企业由于缺乏对整机制造过程进行监控,给企业带来了不少损失,并且近年来,我国航空工业进入了快速发展时期,飞机的数量保持较快增长。在这样的背景下,该问题就更为突出,为了解决该问题,需要将制造进度管理引入到飞机制造行业,最终有效的提高企业的综合竞争力。1.1.2研究意义建立高效的进度管理系统,管理人员在生产初期,对飞机制造主进度进行规划,达到较高的计划性和可靠性[2]。在飞机制造过程中需要及时的收集制造信息,科学的分析飞机项目在制造过程中出现的问题,予以解决。使管理人员更规范,更科学的管理飞机项目,从而提高效率,降低制造成本[3]。随着飞机制造进度管理软件的应用范围扩大,C/S结构的弱点就更加突出,C/S结构给客户带来的不仅是价格昂贵,难以安装还带来了多版本软件的管理困难等问题,而且给供应商带来了额外的开发成本。因为B/S可以很好地解决C/S结构所产生的问题,所以本系统采用B/S结构。1.2国内外研究现状1.2.1国外研究现状近年来,因为进度管理系统的普遍使用,进度管理的思想逐渐被各行各业所接受。在国际上,一些主要的管理软件供应商(例如SAP、ORACLE、PEOPLESOFT等)已利用企业的优势将进度管理系统引入中国。此外,由于我国对制造业市场的逐渐开放,外国越来越多的制造业公司和进度管理软件公司进入中国,这些公司多半都将进度管理软件用作项目控制的辅助工具。因为其较高的进度管理水平和更周密的管理,对国内制造业的冲击力较大。1.2.2国内研究现状我国对制造进度管理技术的探究起始于1990年。为了应对我国制造企业广泛存在新产品制造时间过长和制造过程管理水平低的问题,在我国“第十个五年计划”863课题《基于制造资源优化配置的制造过程管理系统》的资助下,由多所院校和科研机构对制造过程的监控进行深入研究,主要研究的是例如飞机等制造过程复杂的产品,分析如何合理的进行人员分配,如何更好的对制造过程产生的信息进行采集,使产品的制造成本在不影响质量的情况下降到最低。此外由于社会的发展,进度管理软件在企业中得到了普遍使用,在国内有例如永邦科技、进度猫、ONESProject等系统软件,以上软件在实际生产环境中都得到了很好的应用。1.3论文主要研究内容本课题主要研究的是飞机制造进度管理系统,并且采用SSM框架进行开发,在实际开发中,使用SSM框架进行管理平台、电商平台、教务平台等的开发也是随处可见[4]。飞机制造进度管理系统的设计与实现对飞机制造企业是有重大意义的。该系统的角色分为管理员和普通用户,普通用户主要是对所负责任务进行进度填报和管理,而管理员是对用户注册信息进行审核,可以创建项目,并且可以进行分级任务分配[5]。将任务具体分配到负责人和参与者,并且由负责人和参与者进行任务管理。该系统要实现的功能如下:(1)管理员可以进行文件管理、用户信息管理、项目管理、任务分配、项目分析、公告管理、机型管理等。(2)普通用户可以查看任务、查看和修改个人信息、查看项目、查看公告、查看任务分析、图纸文件的下载等。1.4拟采用的研究手段本系统在Windows环境下进行开发,设计一款便于航空制造企业的飞机制造进度管理系统,对制造过程进行更好的监控。课题研究的手段主要分为下面几个部分:(1)查阅相关资料:上网查找资料,了解飞机制造的大致流程,对飞机制造有一个大致的了解,查找国内外研究现状了解本系统的研究意义。通过对技术资料的查找,最终确定了使用SSM框架进行开发,使用MySQL数据库进行数据存储,前端使用Bootstrap框架进行页面的渲染。最后需要对整个系统的开发环境进行搭建,便于后期的开发。(2)文档书写:通过查阅相关系统的设计最终确定该系统的功能,并且进行相关文档的书写。在书写开发文档书时需要着重于进行数据库的设计,需要使用主外键保证数据的一致性。(3)功能实现:根据开发文档进行数据库表的创建和功能的实现,开发出一款方便普通用户和管理员的软件。(4)测试阶段:在开发完成后进行单元测试和系统测试,并对出现的问题进行解决,使系统的安全性得到保证。1.5论文组织结构本论文章节组织框架具体如下:第1章绪论,介绍了本课题的研究背景和研究意义,并且分析了国内外的研究现状。第2章关键技术介绍,对该系统前后端使用的技术进行了详细的介绍。第3章系统可行性和需求分析,对该系统进行可行性分析、功能需求分析和数据需求分析。第4章系统概要设计,构建该系统的功能结构图,并且进行核心功能流程图的设计。第5章系统详细设计,对数据库设计进行介绍,并且对核心功能进行展示。第6章系统测试,完成对系统核心功能的测试。第7章结论,分析本系统已经达到的效果以及存在的问题,并且对系统未来的优化进行展望。2关键技术介绍2.1系统开发环境2.1.1IntelliJIDEA简介IntellijIDEA简称IDEA,因为其对多种开发语言、数据库、框架和前端框架都有很好的支持并且提供丰富的插件可供安装,所以受到了很多开发者的喜爱。其相较于Eclipse更加智能,界面更加美观。2.1.2开发环境开发工具:IntelliJIDEA2020.2.3Java开发环境:jdk1.8.0_201数据库:MySQL5.7数据库管理工具:NavicatPremiumJava简介Java编程语言是一种具有高安全性的跨平台语言并且可以使用户在最短的时间内构建自己安全可靠的应用软件平台。Java语言的有效利用,不仅能让整个开发工作变得简单便捷,且该语言功能强大,能够满足用户对软件功能所提出的绝大部分要求[6]。随着因特网的发展,Java语言在许多方面都得到了突破,在性能和实用性方面都获得了很大的进步[7]。2.3开发框架简介2.3.1Spring框架介绍Spring是轻量级的IOC和AOP的容器框架。Spring框架的特点有简化企业开发、声明式事务的支持、方便与各种优秀框架进行集成。Spring通过使用JavaBeans来代替EJB以前的工作。2.3.2SpringMVC框架介绍SpringMVC是目前最主流的MVC框架之一。因为其使用MVC的开发模式,可以更好管理复杂的项目,方便项目分工开发和后期的维护。SpringMVC框架的核心类是DisPatcherServlet前端控制器,它的存在可以对组件之间进行解耦。Spring相较于另一个MVC框架Struts2因为其简单性和安全性被多数企业所接受。2.3.3MyBatis持久层框架基于MySQL的服务器技术和面向对象的开发已经成为了当前互联网开发的主流,对于面向对象的技术而言,MyBatis持久层操作的对象都是关系型数据库中的一条记录,因此在数据库基本的增删查改时都需要将代码中的对象转换为一条条数据库的记录,为了提升转换的效率,避免重复繁琐的工作,基于ORM(对象关系映射)的开发技术应运而生,ORM介于程序应用层和数据层,可以将对关系数据库的操作转换为代码中对象和属性的操作[8]。2.3.4Bootstrap前端框架Bootstrap是一款于2011年推出的前端框架,旨在可以便捷、快速的开发WEB应用程序和网站。Bootstrap框架使用简单,当开发人员熟悉基础代码的情况下,他们就能很好地使用Bootstrap框架。它为开发人员搭建项目提供了快速的方案[9]。2.4Thymeleaf简介Thymeleaf是一种模板语言,能够处理HTML、XML、JavaScript、CSS甚至纯文本,并且通过在HTML标签中添加了属性来达到模板加数据的展示方式。其提供了一个用于整合SpringMVC的模板,在应用开发中可以完全代替JSP。2.5JavaScript简介JavaScript是基于ECMAScript标准的高级编程语言,使用JavaScript可以更便捷的实现页面交互效果[10]。在HTML中插入JavaScript语言后可以被所有现代的浏览器所执行。因为其简化了开发、部署、测试和调试,所以被开发者广泛使用。2.6数据库2.6.1MySQL数据库介绍现在有许多数据库可供选择,例如Oracle、MySQL、Redis等。每个数据库都有其自身的优缺点。结合资料根据本系统的数据需求和平台的特点,最终选择了MySQL作为后端数据库,MySQL具有广泛的应用,而且可以通过在多张表中建立主外键的方式来达到数据的一致性[11]。2.6.2Navicat数据库管理工具在之前我们使用DOS命令窗口对数据进行基本操作,但是因为其效率太低,所以需要借助于数据库管理工具,比如SQLYog、Navicat等。Navicat因其出色的图形用户界面脱颖而出,并且支持数据库的备份、SQL导出和导入[12]。2.7小结本章的主要内容是针对飞机制造进度管理系统所使用的前端和后台技术做了些详细的介绍,并且还对数据库管理工具、开发环境等进行了简单介绍。3系统可行性和需求分析3.1可行性分析通过技术可行性、经济可行性、操作可行性可以分析和预测软件开发后获得的经济效益、社会影响力以及开发成本,从而提出软件是否值得开发,并且开发者可以通过可行性分析将系统的价值发挥到最大,使用户在使用系统时更加便捷,获得更好的体验。3.1.1技术可行性飞机制造进度管理系统使用Spring、SpringMVC、MyBatis三大框架开发的,SpringMVC是现在最常用的WEB操作框架。采用Spring框架的优势是其提供了IOC控制反转和AOP编程的支持。IOC的作用是将对象的创建交给了Spring容器,通过控制反转的方式促进了对象之间松耦合。AOP的作用是可以轻松处理许多传统OOP难以实现的功能。使用MyBatis可以很好的解除SQL和程序代码之间的耦合,支持动态SQL,并且支持对象关系映射。在服务器的选择上使用Tomcat服务器,因为其稳定性好已被广大开发者所接受。3.1.2经济可行性经济可行性的作用就是对项目的开发成本和项目成功后所带来的经济效益进行分析。对于传统的飞机制造进度管理都是通过下发任务单来进行的,这种方式不利于进度的管理,并且会产生任务下放的不及时的情况,最终导致任务进度的拖延。通过开发飞机制造进度管理系统可以极大的降低任务进度的拖延,从而减少人力财力的浪费,最终使企业的效益得到提升,并且SSM框架等技术可以查阅到大量的资料所以开发的成本也不高,从经济上讲是可行的。3.1.3操作可行性该系统需要满足管理员和普通用户的各项功能要求,并且各个功能模块相对独立便于用户进行操作。该系统根据不同的用户权限展现不同的功能模块。管理员可以便捷的进行任务分配,任务管理,人员管理等操作。普通用户可以查看任务并且可以对所负责的任务进行管理。改变了传统的纸质版的任务分配,使任务下达更加及时。通过对技术可行性、经济可行性、操作可行性分析可知该课题是完全可行的。3.2功能需求分析本系统均需从后台登录到系统,并且根据用户权限不同显示相应的功能模块。角色分为管理员和普通用户。管理员功能需求主要是管理用户信息、图纸文件、项目等。普通用户的功能需求主要是对所负责任务进行管理。3.2.1管理员功能分析(1)文件管理:在飞机制造的过程中会需要很多图纸文件,管理员可以根据机型来创建文件夹,并且具有增删改查的功能。管理员可以在相应的文件夹中进行图纸文件的上传、搜索、下载和删除。(2)用户信息管理:管理员可以管理用户状态,对用户的角色可以进行转换,还可以对注册用户进行审核将审核结果通过邮箱的方式发送给用户,让用户及时知道自己的注册结果。(3)项目管理:项目分为已完成项目和未完成项目。管理员可以增加、修改、删除、复制项目,并且可以在项目甘特图中进行任务分配和进度管理。(4)项目分析:项目分析分为进度分析,任务分析。管理员可以通过进度分析查看各个项目二级任务的进度,并且可以通过任务分析查看各个项目所有任务的状态分布图。(5)公告管理:管理员可以发布,删除公告。(6)机型管理:分为启用机型和禁用机型。管理员可以添加机型,并且对机型状态进行管理。管理员用例图如图3-1所示。图3-1管理员用例图3.2.2普通用户功能分析(1)注册登录:普通用户可以通过员工编号和密码进行登录,并且通过填写基本信息进行用户注册,在管理员没有进行用户审核前不能进行用户登录。(2)图纸文件下载:普通用户在获取任务之后可以在文件模块下载相应的图纸文件来完成自己的任务。(3)查看任务:管理员将任务分配给每一个人员之后,普通用户便可在任务模块中快速的查看自己负责的所有任务并且根据任务的优先级来和结束时间完成任务,在项目甘特图中进行相应任务的进度管理。(4)项目查询:普通用户在接到任务之后,通过项目编号可以在项目模块中快速查找到项目,并且通过任务名在项目甘特图中进行任务进度的管理。(5)查看公告:当管理员发布新的公告时,普通用户通过消息提示得知有新的公告,并且在公告模块中进行查阅。(6)任务分析:将用户所分配到的任务根据任务状态的不同进行分类,并进行图表分析。(7)修改个人信息:普通用户可以查阅个人信息并且可以修改密码,通过邮箱验证的方式进行邮箱替换。普通用户用例图如图3-2所示。图3-2普通用户用例图3.3数据需求分析3.3.1数据表需求分析根据以上功能分析系统可能涉及的数据有:公告数据:公告标题、公告内容、公告创建时间等。项目数据:项目名、优先级、项目详情、项目进度等。用户信息数据:员工编号、性别、身份证号、密码、姓名、邮箱等。工作计划信息数据:任务优先级、任务名、状态、开始时间、结束时间、进度、前置任务、负责人ID、图纸号等。机型信息数据:飞机类型、飞机型号、机型状态、重量等。文件夹数据:名称、最近更新时间等。图纸信息数据:图号、下载数、图纸存储路径等。任务指派信息数据:参与者ID、待办事项、日程ID、项目ID等。3.3.2E-R图分析通过E-R图可以更加直观的展示事物的属性与事物之间的关系。系统E-R图如图3-3所示。图3-3系统E-R图3.4小结本章内容主要是对所设计的系统进行技术可行性分析、经济可行性分析、操作可行性分析,并且还进行了功能需求分析和数据需求分析,最终确立了本课题所需要的所有功能。4系统概要设计4.1系统功能结构系统设计的总体目标是设计出一个高效的进度管理系统,并且便于用户进行操作。本系统根据不同的权限显示不同的功能模块。通过系统功能结构图可以更直观的显示功能之间的从属关系,并且利于系统后期的维护。系统功能结构图如图4-1所示。图4-1系统功能结构图4.2系统流程4.2.1设计流程的必要性软件的开发并不等于代码的编写,在软件开发前都需要经过流程设计阶段,他不但是对业务的梳理还是对设计方案的验证,如果没有好的设计流程,代码的编写就会出现问题,使项目的进度出现拖延。4.2.2登录注册普通用户可以进行注册,将注册信息进行填写之后交由管理员进行审核,注册信息包含员工编号、身份证号、住址、邮箱、密码等信息。管理员根据员工编号等信息判断该用户是否有资格进行注册。如果用户通过了审核,用户会接收到审核通过的邮件,并且可以通过员工编号和密码进行登录,否则会接收到注册失败的邮件,该用户只能重新进行账号的注册并且等待管理员进行审核。注册流程如图4-2所示。图4-2注册流程图普通用户和管理员登录时先进行账号密码的校验,登录成功后进行权限检测,并且根据不同的权限显示不同的功能模块。登录流程如图4-3所示。图4-3登录流程图4.2.3图纸文件操作管理员选择文件管理模块,选择相应的文件夹并且进行图纸文件的上传,删除和下载。普通用户可以在文件模块中选择文件夹并进行图纸文件的下载。图纸文件操作流程如图4-4所示。图4-4文件操作流程图4.2.4任务进度管理由于飞机的制造较为困难,管理员需要在创建飞机项目之后对整个飞机的主进度进行规划,并将所有任务进行工时的初步计算并分配给普通用户,让普通用户进行任务管理。作为普通用户可以是任务的参与者也可以是任务的负责人。如果是任务的参与者,则只能进行该任务的管理。如果是任务的负责人则可以对该任务和其子任务进行管理,并且通过子任务的进度来评估该任务的总进度。管理员需要对所有二级进度进行评估来决定项目总进度。用户只能对自己分配到的任务进行管理,管理员可以管理所有任务。任务进度管理流程如图4-5所示。图4-5任务进度管理流程图任务管理所涉及的操作如下:(1)任务进度填报:不论是任务参与者还是任务负责人都可以对所分配的任务进行进度填报,作为任务负责人需要通过分析子任务的进度来评估该任务的进度,作为任务的参与者需要对所分配的任务进行进度填报。管理员评估项目总进度并进行填写。(2)任务状态修改:任务状态分为进行中、已完成、等待中、未分配、暂停中和任务失败。状态为已完成的任务表示进度为100%的任务,状态为等待中的任务表示存在前置任务,状态为未分配的任务表示该任务还没有相关负责人或参与者,状态为暂停中的任务表示制造过程中可能存在问题需要暂停任务,状态为任务失败的任务表示该任务已经超时了。任务状态默认为进行性中,需要任务管理者根据具体情况进行任务状态的调整。(3)任务工时控制:在实际的制造过程中任务进度的不确定性可能会导致其与原计划不相符,任务管理者可以通过调整工时来重新定义该任务的工时,在之后相同机型的项目中该任务都将采用新工时。(4)任务分配:管理员可以将任务分配给负责人和参与者进行任务的分层管理,并且可以对任务进行新增和删除。普通用户无权进行任务的增加和删除。4.3小结本章的主要内容是根据系统的需求进行功能模块的划分,构建系统功能结构图,并且为了使系统在开发过程中出现更少的错误进行了核心功能流程图的设计。5系统详细设计5.1数据库由于飞机制造进度管理系统的数据库设计比较复杂,并且项目中的任务较多,数据量较大,这时就需要良好的数据库设计使数据的存储空间降到最低,避免数据冗余带来存储空间的浪费。5.1.1实体与属性的设计根据对飞机制造进度管理系统的功能设计与分析,实体主要有用户信息、项目信息、公告信息、机型信息、任务指派信息、文件夹信息、图纸信息、工作计划信息。(1)用户信息实体,包含员工编号、密码、性别、姓名、身份证号、邮箱、最后登录时间等基本信息,用于用户信息管理的基本功能需求。如图5-1所示。图5-1用户信息实体与属性图(2)项目信息实体,包含项目名、项目ID、项目详情、项目进度、项目优先级等基本信息,属于飞机制造进度管理系统中的核心部分,用于查询飞机项目的基本功能需求。如图5-2所示。图5-2项目信息实体与属性图(3)公告信息实体,包含公告标题、公告发布时间等基本信息,用于实现公告基础功能需要。如图5-3所示。图5-3公告信息实体与属性图(4)任务指派信息实体,包含日程ID、分配ID、项目ID、参与者ID、待办事项、排序等基本信息,用于保存任务参与者的基本信息。如图5-4所示。图5-4任务指派信息实体与属性图(5)文件夹信息实体,包含文件夹名,最近更新时间等基本信息,用于将不同型号飞机的图纸进行分隔。如图5-5所示。图5-5文件夹信息实体与属性图(6)图纸信息实体,包含文件夹ID、图纸号、图纸存储路径、下载次数等基本信息,用于管理图纸的基本信息。如图5-6所示。图5-6图纸信息实体与属性图(7)工作计划信息实体,包含任务ID、开始时间、是否可以添加、任务优先级、前置任务、状态、项目ID、任务名、结束时间、任务天数、任务层级、是否展开、任务进度、是否可以修改等基本信息,用于进行工作计划的管理。如图5-7所示。图5-7工作计划信息实体与属性图(8)机型信息实体,包含飞机型号、飞机类型、重量、单位、创建时间、状态等基本信息,用于管理飞机机型的基本信息。如图5-8所示。图5-8机型信息实体与属性图5.1.2数据库表的设计(1)用户信息表(user)存储的是用户的基本信息,其中uid(编号)设置为主键,在进行注册时进行验证,相同的员工编号不会出现两次,登录时通过表中的员工编号和密码进行登录。详细信息如表5-1所示。表5-1用户信息表(user)序号字段描述类型和长度主外键是否可空1uid编号Int(10)主键不允许2people_id员工编号Varchar(15)否不允许3pwd密码Varchar(80)否不允许4name姓名Varchar(50)否不允许5sex性别Tinyint(1)否不允许6email邮箱Varchar(50)否不允许7status状态Tinyint(1)否不允许8check_uid审核用户IDInt(11)否不允许9check_desc审核理由Varchar(100)否不允许10role角色Tinyint(1)否不允许11youaddress家庭地址Varchar(252)否允许12add_user创建者Varchar(20)否允许13login_count登录次数Int(11)否允许14idcard身份证号Varchar(255)否不允许项目表(project),用于存储新创建的项目的基本信息,id(项目ID)为主键,并且设置planemodelid(机型ID)为外键,通过外键实现了在项目管理模块中查看机型的详细信息。详细信息如表5-2所示。表5-2项目信息表(project)序号字段描述类型和长度主外键是否可空1Id项目IDInt(10)主键不允许2projectname项目名Varchar(50)否不允许3setSatIsHoly周六是否上班Int(11)否允许4setSunIsHoly周日是否上班Int(11)否允许5grade优先级Int(11)否不允许6Workdaystarttime工作开始时间Varchar(20)否允许7workdayendtime结束工作时间Varchar(20)否允许8projectcontent项目详情Varchar(20)否允许9createprojectuser项目创建者Varchar(20)否不允许10updateprojectuser项目更新者Varchar(20)否不允许11planemodelid机型IDVarchar(20)外键不允许(3)工作计划信息表(schedule)里保存的数据都是描述项目中工作计划详细信息里的一些基本数据,将id(任务ID)设置为主键,将project_id(项目ID)设置为外键,并且status(任务状态)分为进行中、已完成、等待中、未分配、暂停中和任务失败。当任务进度为100%时设置为已完成,将有前置任务还未开始的任务设置为等待中,将还没有分配的任务设置为未分配。详细信息如表5-3所示。表5-3工作计划信息表(schedule)序号字段描述类型和长度主外键是否可空1project_id项目IDInt(11)外键不允许2id任务IDVarchar(50)主键不允许3sort排序Int(11)否允许4code图纸号Varchar(500)否允许5name任务名Varchar(500)否不允许6level任务层级Int(3)否允许7grade任务优先级Int(3)否允许8progress任务进展Decimal(7)否允许9status状态Varchar(50)否不允许10canAdd是否可以新加Tinyint(1)否不允许11canAddIssue是否可以新加Tinyint(1)否允许12canDelete是否可以删除Tinyint(1)否允许13canWrite是否可以修改Tinyint(1)否允许14collapsed是否展开Tinyint(1)否允许15depends前置任务Varchar(500)否允许16description备注Varchar(500)否允许17duration任务天数Int(5)否允许18start开始时间Bigint(15)否允许19end结束时间Bigint(15)否允许20principal负责人IDInt(11)否允许(4)公告信息表(announcement),该表将编号设置为主键,并且将time(公告创建时间)设置为timestamp类型,这样再插入一条数据时,就会自动为该字段添加时间,并且为readyes(是否已读)字段设置默认值。详细信息如表5-4所示。表5-4公告信息表(announcement)序号字段描述类型和长度主外键是否可空1id编号Int(10)主键不允许2title公告标题Varchar(50)否不允许3content内容Varchar(50)否允许4time公告创建时间Timestamp否允许5createpeople创建人Varchar(50)否不允许6readyes是否已读Varchar(50)否允许(5)公告查阅信息表(annonuuser),该表就是用户表(user)和公告表(announcement)的中间表,将userid(查阅者ID),announcement(查阅公告ID)设置为外键,将id(编号)设置为主键。详细信息如表5-5所示。表5-5公告查阅信息表(annonuuser)序号字段描述类型和长度主外键是否可空1id编号Int(10)主键不允许2userid查阅人IDInt(10)外键不允许3announcement查阅公告IDInt(10)外键不允许4readyes是否已读Varchar(10)否允许(6)飞机型号信息表(planetype),该表主要存储的是各种型号飞机的基本信息,将id(编号)设置为主键,在项目信息表(project)中添加外键。详细信息如表5-6所示。表5-6飞机型号信息表(planetype)序号字段描述类型和长度主外键是否可空1id编号Int(10)主键不允许2planemodel飞机型号Varchar(50)否允许3planetype飞机类型Varchar(255)否允许4weight重量Bigint否允许5unit单位Varchar(20)否允许6remove是否禁用Varchar(255)否允许7time创建时间Timestamp否允许(7)文件夹信息表(floder),该表的主要作用就是存储文件夹的名字,当对文件夹中的图纸进行删除操作时更新updatetime(最近更新时间)。详细信息如表5-7所示。表5-7文件夹信息表(floder)序号字段描述类型和长度主外键是否可空1id编号Int(10)主键不允许2name文件夹名称Varchar(20)否允许3updatetime最近更新时间Varchar(50)否允许(8)图纸文件信息表(file),该表将id(编号)设置为自增主键,将folderid(所属文件夹ID)设置为外键,与floder(文件夹信息表)中的id(编号)进行关联。详细信息如表5-8所示。表5-8图纸文件信息表(file)序号字段描述类型和长度主外键是否可空1id编号Int(10)主键不允许2folderid所属文件夹IDInt(10)外键不允许3filenumber图纸号Varchar(255)否允许4filepath文件路径Varchar(255)否允许5downloadcount下载路径Bigint否允许(9)任务信息表(assign),该表将项目ID(project_id)与日程ID(schedule_id)设置为外键,将该表与项目信息表(project)和工作计划表(schedule)进行关联。详细信息如表5-9所示。表5-9任务信息表(assign)序号字段描述类型和长度主外键是否可空1project_id项目IDInt(10)外键不允许2schedule_id日程IDVarchar(50)外键不允许3id分配IDVarchar(50)主键不允许4resourceId参与者IDInt(11)否允许5todolist待办事项Varchar(500)否允许6sort排序Int(11)否允许5.2普通用户功能模块的设计实现5.2.1注册及登录用户选择注册时,按要求填写信息,并且当点击注册按钮时,会验证员工编号、身份证号、邮箱是否符合要求。如果符合要求,会将该用户的密码进行加密并且存入到数据库中去,管理员需要进行用户信息审核。如果注册信息没有通过BindingResult类的验证,后台会给浏览器响应相应的提示信息用于提示用户进行信息修改。当用户选择登录时,填写员工编号和密码进行登录。注册效果图,如图5-9所示。图5-9注册效果图登录效果图,如图5-10所示。图5-10登录效果图5.2.2图纸下载模块通过飞机型号查找到相应的文件夹,并且在该文件夹中进行图纸文件的查询,下载。下载功能的实现主要是通过前端将文件具体路径和所属文件夹传到对应的控制层中的方法中,并且通过调用Dao层方法先将文件下载次数进行更新,然后设置头信息、下载的附件,最后将文件进行读取,并且向浏览器返回ResponseEntity对象实现文件下载功能。图纸下载模块功能结构图,如图5-11所示。图5-11图纸下载模块功能结构图图纸下载模块效果图,如图5-12所示。图5-12图纸下载模块展示效果图5.2.3个人中心普通用户的个人中心模块主要包含基本资料的查看和邮箱的修改。邮箱修改功能的实现首先需要在applicationContext.xml文件中配置JavaMailSenderImpl使邮箱服务得到支持,在后台通过Resource注解将JavaMailSender引入,然后需要通过ajax将新的邮箱发送到后台并进行邮件主题等配置,最终通过JavaMailSender的send方法将消息进行发送。个人中心功能结构图,如图5-13所示。图5-13个人中心功能结构图个人中心效果图,如图5-14,5-15所示。图5-14个人中心基本资料效果图图5-15个人中心邮箱修改效果图5.2.4项目查询模块可以通过项目编号、项目名称、项目优先级在项目查询模块中进行项目查询,并且点击项目甘特图可以进行负责任务的进度管理,并且可以查看某一项目的机型。项目模块功能结构图,如图5-16所示。图5-16项目查询模块功能结构图项目查询模块效果图,如图5-17所示。图5-17项目查询模块效果图项目甘特图功能结构图,如图5-18所示。图5-18项目甘特图功能结构图点击项目甘特图对所分配的任务进行进度管理,如现在登陆姓名为张伟的账号,作为机身任务的负责人可以进行该任务和子任务的进度管理,作为机头材料任务的参与者则他只可以进行所分配任务的进度管理,不可以对子任务进度进行管理,对无权限的任务显示为灰色并且无法进行操作。项目甘特图效果图,如图5-19所示。图5-19项目甘特图效果图5.2.5任务分析可以查看当前用户所有状态下任务的占比,并且进行图表分析。当页面加载时,首先通过URL向指定控制层的方法发送请求,并且将各种状态下任务进行查询和数量上的统计并且将其添加到Model对象中去,通过Model进行参数的传递,在前端使用Thymeleaf的内联JavaScript将Model对象中的值取出并进行图表信息的初始化,最终实现图表分析功能。任务分析效果图,如图5-20所示。图5-20任务分析效果图5.2.6任务查询模块该模块的作用是将项目管理模块中所有已分配任务进行分类,使得用户能更加直观的查看自己的任务,并且根据项目编号和所负责任务名快速的找到任务并进行任务进度填报,还可以将任务列表导出为Excel表方便查看。任务查询模块效果图,如图5-21所示。图5-21任务查询模块效果图5.3管理员功能模块的设计实现5.3.1项目管理模块管理员可以进行项目查询、项目信息的修改、项目复制、项目删除并且在项目甘特图中可以进行任务的分配和管理、项目总体进度的评估和填写。项目管理模块效果图,如图5-22、5-23所示。图5-22项目管理模块效果图图5-23任务分配效果图5.3.2文件管理模块文件管理模块的作用是通过创建以机型名作为命名的文件夹来存放不同机型的图纸文件。在图纸上传时后台使用MultipartFile文件集来接收上传的所有图纸文件,并且将文件进行循环遍历去掉文件名后缀,之后判断该图纸文件是否存在,如果存在则忽略该图纸文件不进行本地存储,否则进行本地存储。文件管理模块功能结构图,如图5-24所示。图5-24文件管理模块功能结构图文件夹管理效果图,如图5-25所示。图5-25文件夹管理效果图图纸管理效果图,如图5-26所示。图5-26图纸管理效果图5.3.3项目分析项目分析模块主要分为进度分析和任务分析,进度分析就是每一个项目中二级任务的进度查看,任务分析就是每一个项目各种状态下任务的占比和图表分析。其中任务状态可以分为进行中、已完成、等待中、暂停中、任务失败和未分配。管理员通过任务分析模块可以监控项目中所有任务所在状态,并且对所有任务进行状态管理,使项目可以正常进行。进度分析效果图,如图5-27所示。图5-27进度分析效果图任务分析效果图,如图5-28所示。5-28任务分析效果图5.3.4机型管理模块管理员可以进行机型添加、机型启用、机型禁用、机型信息的修改等操作。在添加新机型时可以上传图片,图片上传功能的实现首先需要在后台通过MultipartFile类来获取上传的图片,并且通过该类获取源文件名,再通过HttpServletRequest类的getServletContext().getRealPath()来获取指定资源的全路径,最终使用File对象将图片文件保存到本地磁盘,并且给前端返回该图片的路径用于图片显示。机型管理效果图,如图5-29所示。图5-29机型管理效果图5.4小结本章的主要内容是对数据库设计进行了介绍,并且将飞机制造进度管理系统所实现的功能对应的效果图进行了展示,并且对所有功能进行了介绍。6系统测试6.1测试环境和内容6.1.1测试环境处理器:InetlCeleronCPUN3060@1.6GHz操作系统:Windows10数据库:MySQL测试内容(1)进入后台首页是否可以正常显示信息。(2)项目管理模块的功能是否正常。(3)文件管理模块的功能是否正常。(4)用户管理模块的功能是否正常。(5)项目分析中的数据是否正确。(6)普通用户是否可以完成所分配任务的进度管理。6.2测试方法本系统在构建的过程中,采用了模块化的设计理念,各个模块间相对独立,极大的方便了对整个系统平台的测试与调试,使得各个模块功能的代码量相对较少,方便调试与运行。测试过程分为以下几步:(1)单元测试当每一个功能模块设计完成之后,都需要将该模块的代码进行反复的单元测试,查看其结果是否与预期的结果相同,如果相同则进行下一个功能模块的开发,如果不同则需要找到问题所在并修改代码[13]。当所有功能模块都开发完毕之后就需要进行功能测试。(2)功能测试功能测试主要采用黑盒测试,并且结合测试内容对功能进行测试,主要用于确认产品是否已完成需求规范中设置的功能[14]。在测试过程中还需要对需求和设计文档进行检查。黑盒测试并不像单元测试注重于代码的测试,它注重的是系统的输入和输出,将系统的预期结果和实际反馈结果进行对比,即时发现系统出现的问题。6.3功能测试对飞机制造进度管理系统的主要功能模块的测试用例如下:后台首页界面测试,如表6-1所示。表6-1后台首页测试用例表用例的名称测试模块操作的过程预期的结果测试的结果01查看最后登录时间是否显示直接进行查看正常显示正确02查看最后登录ip是否显示直接进行查看正常显示正确03查看页面排版是否正确直接进行查看正常显示正确文件管理模块测试,如表6-2所示。表6-2文件管理界面测试用例表用例的名称测试模块操作的过程预期的结果测试的结果01文件夹是否可以正常的进行增删改查在文件管理首页直接进行操作能够正常的进行操作正确02图纸文件是否可以正常的下载点击具体图纸下的下载按钮进行下载能够正常下载正确03图纸文件是否可以正常的删除点击具体图纸下的删除按钮进行删除能够正常删除正确(3)项目管理模块测试,如表6-3所示。表6-3项目管理界面测试用例表用例的名称测试模块操作的过程预期的结果测试的结果01项目的增删改查功能管理员可以对项目进行修改,删除和增加点击修改可以修改项目信息,点击删除可以删除项目正确02复制项目是否可以正常进行点击复制按钮进行项目复制正常进行复制正确03管理员是否可以对任务进行进度管理和分配点击项目甘特图正常进行任务分配和进度管理正确04管理员是否可以查询项目在搜索框中输入搜索内容查询结果正常显示正确(4)项目分析界面测试,如表6-4所示。表6-4项目分析界面测试用例表用例的名称测试模块操作的过程预期的结果测试的结果01查看进度分析是否正确点击进度分析,选择项目名进行进度的查看进度显示正确正确02查看任务分析是否正确点击任务分析,选择项目名进行任务的查看任务分析是否正确正确03图表分析是否正确直接进行查看查看图表中数据是否正确正确(5)用户管理模块测试,如表6-5所示。表6-5用户信息管理测试用例表用例的名称测试模块操作的过程预期的结果测试的结果01管理员是否可以对新注册用户进行审核点击审核按钮进行审核提示审核成功正确02管理员是否可以对用户信息进行修改点击修改按钮进行修改提示更新成功正确03管理员是否可以进行查询点击查询按钮显示想要的结果正确(6)普通用户任务进度管理测试,如表6-6所示。表6-6普通用户任务进度管理测试用例表用例的名称测试模块操作的过程预期的结果测试的结果01作为任务负责人是否可以管理子任务进度点击具体的项目甘特图负责任务和子任务进度都可管理正确02作为任务参与者是否可以管理子任务点击具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 下册道德与法治-清新空气是个宝公开课教案课件公开课教案教学设计课件
- 南京市鼓楼区六年级语文小升初分班考试原创仿真卷含答案解析评分细则错题复盘表
- 建筑施工安全技术全流程管控实操手册
- 建筑工程冬雨季施工方案
- 2026广东阳江市阳西县代建项目中心就业见习岗位信息1人参考题库及答案详解(典优)
- 家具制造生产管理制度
- 2026江铜产融(融资租赁)第六批次社会招聘2人备考题库及完整答案详解【名师系列】
- 2026三下数学动画教学课件
- 电商平台代管合同网店运营管理协议三篇
- 火灾自动报警系统施工及验收标准
- 2026年度新泰市市属国有企业公开招聘工作人员笔试参考题库及答案详解
- 2026年中小学生安全知识竞赛试题(附答案)
- 2026年安全管理人员安全培训考试题附答案
- 2026年人教版七年级下册政治期末综合测评卷(含答案可下载)
- 2026年全国新高考1卷英语试卷(含答案及详解)
- (2026版)学校保密安全管理制度
- 市场监督管理局特种设备安全监察工作手册(标准版)
- 高中数学必修一2.2基本不等式常见题型(含答案)
- 2026年贵州省六盘水市初二地生会考试卷题库及答案
- 20kV及以下配电网工程预算定额(2022版)全5册excel版
- 煤矿总工程师岗位职责及技术管理体系
评论
0/150
提交评论