基于JSPCRH2型动车牵引电机管理系统的设计与实现_软件工程毕业论文(33页).docx
-基于JSPCRH2型动车牵引电机管理系统的设计与实现_软件工程毕业论文-第 29 页摘 要动车组是完成铁路高速运输生产任务的最重要的移动设备。针对铁路快速客运网发展规划的要求,以牵引电机的履历管理为主要对象,建立一套动态的履历管理系统,可对运用、维修中主要零部件的履历进行信息收集、整理、分析,形成质量信息的高效反馈。该系统不仅可以实现面向主要零部件的动态的全生命周期的管理,还可以找出动车组的薄弱环节及其问题所在,向制造部门进行信息反馈,以达到改进设计,提高动车组可靠性的目的。本次毕业设计采用B/S架构的Tomcat+MySQL+JSP开发模式,以CRH2型动车牵引电机的履历管理为基础设计并实现了牵引电机履历管理系统。该系统主要有基本信息管理模块、维修管理模块、统计分析管理模块、用户信息管理模块、查询管理模块等。系统具有四类用户:管理员、铁路局、牵引电机装配商、牵引电机制造商,分别具有不同操作权限。本系统前台网站采用JSP语言编写,后台采用Tomcat为服务器,MySQL作为后台数据库,结合SQL语句处理对信息的添加、删除、修改等操作,使Web与数据库紧密联系起来。整个系统具有友好的用户界面,操作简单实用,功能较为完备。关键字:CRH2型动车 牵引电机 JSP MySQL 履历管理 ABSTRACTEMU is one of the most important mobile devices which can complete high-speed rail transportation and production tasks. According to the development planning of fast passenger railway network requirements, to make resume management of traction motor as the main object, establish a dynamic resume management system which can collection, sorting, analysis the information of the main parts of components in using or repairing to form a effective feedback of quality information. The system not only can realize the dynamic for the major components of the full life cycle management, also can find out the weakness and problems of EMU, and feedback to the manufacturing sector to improve the design, improve the reliability of the EMU.This graduation design is based on B/S structure with Tomcat+MySQL+JSP development model, realizing the traction motor resume management system based on CRH2 type EMU traction motor resume management. The system has the basic information management module, repair management module, statistical analysis and management module, user information management module, query management module etc. The system has four types of users: administrator, railway, traction motor assemblers, traction motor manufacturers, which have different operating privileges.The site of this system uses JSP language, the background uses Tomcat as server, MySQL as the backstage database, combined with the operation of SQL statement processing of information to support adding, deleting, modifying, so closely linked to Web and database. The whole system has a friendly user interface, simple, practical and complete function.Key words:CRH2 type EMU traction motor JSP MySQL resume management目 录第一章 绪论11.1问题来源11.2设计目的11.3开发内容21.4开发方法31.5系统环境3第二章 系统需求分析52.1系统描述52.2角色描述及用例模型52.3业务流程分析62.4系统安全性分析72.5系统可行性分析8第三章 系统总体设计93.1系统设计原则93.2系统概要设计11第四章 系统数据库设计134.1数据库概念设计134.2数据库逻辑设计184.3数据库物理设计194.4数据库实施23第五章 系统详细设计与实现315.1系统登录模块设计与实现315.2基本信息管理模块设计与实现325.3维修信息管理模块设计与实现355.4统计分析模块设计与实现395.5用户信息管理模块设计与实现405.6历史信息查询模块设计与实现425.7其他辅助功能的设计与实现43第六章 系统测试456.1系统测试简述456.2系统测试用例456.3系统测试结论47结 论48谢 辞49参考文献50第一章 绪论1.1问题来源动车组是完成铁路高速运输生产任务的最重要的移动设备。针对铁路快速客运网发展规划的要求,铁道部加快了铁路装备现代化的步伐,目前引进了四种动车组:CRH1型、CRH2型、CRH3型和CRH5型动车。动车组信息化管理是动车组高效、安全运行的保障。通过动车组的信息化管理可以大幅度提高管理效率,全方位拉动和改进传统管理模式,实现基本支撑信息化、生产过程自动化。动车组信息化工作起点高、定位高,必须在全面学习和借鉴国外先进管理理念的基础上,结合我国动车组运用和维修的具体情况,制定出一整套动车组运用和维修管理规范,搭建信息管理软件平台,开发出一整套适合中国国情、适合铁路现代化管理要求的动车组信息化平台。动车组信息管理系统是提高动车组制造、运用和维修质量的关键。信息管理的主要任务之一是建立起一套动态的零部件级的履历管理系统,对运用、维修中主要零部件的履历进行信息收集、整理、分析,形成质量信息反馈系统,这个系统一方面能够实现面向主要零部件的动态的全生命周期的管理;另一方面还要找出动车组的薄弱环节及其问题所在,向制造部门进行信息反馈,以达到改进设计,提高动车组可靠性的目的。1.2设计目的当前我国铁路客车管理的信息化水平与发达国家相比还有一定差距。自2000年后,国内铁路行车指挥技术有了很大的发展,我国铁路信息化建设始于20世纪80年代,经过20多年的发展在开发和应用方面取得了显著的成绩。铁路客车管理信息系统(KMIS)是由国家铁道部主持组建的铁路车辆业务行业管理信息系统,是铁路信息化的重要组成部分。目前已有许多专家学者对KMIS系统进行了深入的分析设计和实际开发1-4。KMIS 系统利用计算机网络通讯技术、信息技术、数据库技术,实现了对我国铁路客车车辆及其维修资源的全面技术管理,覆盖了铁道部、铁路局和车辆段(厂)三级客车运用、检修的基本业务活动,实现了客车动态信息的联网管理,实现了客车调度人员以及各级领导掌握客车动态的基本需求。通过KMIS系统一期的建设,车辆段已经实现了客车配属、调度和生产计划管理,可以对客车的转配属、编挂、检修和临修动态履历进行跟踪管理,但是由于没有继续进行二期建设,在客车的动态履历查询中,客车的故障处理履历、配件检修履历、配件拆装履历、整修履历、一车一档检修档案等均为空白。车辆段目前对客车运用和检修生产过程没有实现全面信息化管理,大量的生产信息仍保存在纸质记录上,对档案的查询、检索非常困难,很难对生产过程进行分析改进,不能有效提高检修质量、降低检修成本。特别是在计划预防修方面,长期以来车辆段库列检坚持对全部运用列车每次入库均实施全面检查和检修。从实际作用和效果看,这其中包含了大量不必要的重复无效劳动5。计划预防修体制本身的合理性和科学性明显不足,从可靠性和维修必要性出发,科学合理的确定客车及其主要零部件的检修周期,通过确定检修周期可以合理划分具体的维修周期结构以及维修等级,可以对库列检维修作业安排努力进行优化,在保证安全的前提下尽量减少重复无效劳动,从维修内涵上逐步向状态修靠近是库列检的发展方向。这就需一个动态的零部件级履历管理信息系统做支撑,在计划性维修基础上,结合有关规程和标准规定,以关键部件故障发生和发展的周期性和规律性为指导,按不同车次和不同项目的检修实际需要,分别确定不同的检修周期(并须在实践中不断优化调整),以关键部件履历管理和运行记录信息化管理手段为依托,按照检修周期分别确定检修计划,对入库列车全部按计划确定的部位和项目等要求实施检修。在保证运用维修质量、确保客车安全的前提下,努力减少重复无效劳动、不断提高关键部件维修组织效率和劳动效率6。1.3开发内容面向CRH2系列动车组运维需求,根据其关键部件牵引电机在不同环境因素下的运用特点及运行记录,建立牵引电机的动态履历管理机制,动态地记录电机运行的各项数据信息,为提高动车组维修效率和精度,降低维修成本,为优化设计和制造工艺、提高设备质量、确保动车组运行安全可靠提供专业化服务支持。1. 总体架构设计通过对牵引电机动态履历管理系统功能需求进行分析,确定系统主要有基本信息管理模块、维修管理模块、统计分析管理模块、用户管理模块、查询管理模块等五大功能模块。在系统各功能模块设计的基础上,采用兼有开放性和稳定性特点的B/S三层架构模式对牵引电机动态履历管理系统进行开发。利用成熟的网络条件和数据库技术,实现牵引电机履历管理的无纸化,自动化,远程化,是履历管理形式的一次重大革新。系统网络构架采用将该系统的应用构建在铁路局域网的方式进行,同时依赖于铁路局域网本身的安全环境,可以防范或避免很多外网上经常遭到的安全威胁,从而确保服务器数据的安全传输和方便车辆段用户的信息查询、发布7。2. 系统流程设计通过对系统的业务原型进行分析研究,对牵引电机动态履历管理系统进行流程分析,设计主要的数据流程和业务流程并对其进行详细图解说明。3. 系统数据模型的设计牵引电机动态履历管理系统数据处理量大,数据参数复杂多样,通过对具体功能需求进行调研分析,对数据进行疏理,进行系统数据模型的设计。对数据模型进行概念结构设计,画出系统中涉及的主要实体图(E-R模型),并进行数据模型的物理结构设计。系统网络数据共享,数据具备实时性和完整性。该系统将数据联网共享,使各车间数据在同一时间不产生重叠,保证了数据完整、实时更新及准确性。为系统管理、数据录入、数据查询等不同要求设定不同权限,提高数据库安全性。4. 牵引电机维修方式的确定8维修方式的选择是牵引电机维修管理模块的重要组成部分,在维修实践中,如何选择维修方式是十分重要的。选择维修方式应该从故障后果,即装备发生故障后对安全性和经济性的影响来考虑。定时维修和视情维修属于预防性维修,而事后维修(修复性维修)则是非预防性维修。定时维修是按时间标准进行维修,视情维修是按实际状态标准进行维修,而事后维修则不控制维修时间。三种维修方式各有特点,各有其适用范围,从这个意义上讲,问题的关键是应该根据维修的具体情况,正确的选择维修方式。5. 故障分析设计9所谓故障分析就是对发生故障的产品进行分析,鉴别其故障模式、故障机理、故障的影响及其后果。通过故障分析,可以掌握牵引电机的可靠性状况和故障规律,找出故障原因和薄弱环节,从而有针对性的进行维修,并对寿命周期各个阶段存在的问题采取纠正措施,防止故障再次发生,从而提高产品的可靠性水平和维修质量。常用的故障分析方法主要包括:对比法、按故障模式影响分析法和综合分析法。针对牵引电机的维修履历,用列表对照实现牵引电机的故障模式统计、故障机理统计和故障原因分析。1.4开发方法在本次毕业设计中,以CRH2型动车牵引电机履历管理系统设计为背景,运用学过的软件知识,按照软件工程开发流程来实现本系统,理论联系实际,采用面向对象的方法建立对象模型10、对象状态转换模型和对象功能模型,从而完成整个系统的设计和开发。本系统采用B/S架构的JSP(windows+Tomcat+MySQL+JSP)开发模式,Myeclipse8.5作为编译工具,前台网站采用JSP技术编写,后台采用Apache Tomcat 6.0作为服务器,MySQL作为后台数据库,结合SQL语句处理对信息的添加、删除、修改等操作,使Web与数据库紧密联系起来,实现系统的各项功能。1.5系统环境1.5.1系统开发环境1.硬件平台:CPU:I5-2410M内存:4GB硬盘:320G显示器:1366*768像素,增强色32位2.软件环境:操作系统:Microsoft Windows 7 旗舰版开发工具:MyEclipse 8.5JDK版本:JDK 1.7服务器:Tomcat 6.0数据库:MySQL Server 5.51.5.2系统运行环境1、硬件平台 服务器端:CPU:Pentium 4 2.4GHz以上;内存:512MB以上;硬盘:40GB以上;显示器:分辨率1366×768,32位;网卡:100Mbps。 客户端:CPU:Pentium III 600MHz以上;内存:64MB以上;硬盘:20GB以上;显示器:分辨率1366×768,32位;网卡:10M/100Mbps自适应。2、软件环境 服务器端:操作系统:windows 7数据库:MySQL Server 5.5;支持服务器段增加网络版防病毒软件或插防病毒卡。 客户端:操作系统:Windows XP或Windows 7;目标应用软件客户端;浏览器:IE 5.0,推荐使用IE 7.0以上浏览器;支持客户段增加网络版防病毒软件或插防病毒卡。第二章 系统需求分析2.1系统描述本系统是以牵引电机的履历管理为主要对象,建立起一套动态的履历管理系统,对运用、维修中主要零部件的履历进行信息收集、整理、分析,形成质量信息反馈系统,这个系统一方面能够实现面向主要零部件的动态的全生命周期的管理;另一方面还要找出动车组的薄弱环节及其问题所在,向制造部门进行信息反馈,以达到改进设计,提高动车组可靠性的目的。经过调研学习,根据现实中CRH2型动车牵引电机履历管理的要求,本系统设计了五大功能模块:1. 基本信息管理模块:实现对牵引电机基本参数信息、运行线路信息的管理;2. 维修管理模块:实现对牵引电机计划检修信息、故障维修信息的管理;3. 统计分析管理模块:实现对牵引电机故障信息按不同线路的统计;4. 用户管理模块:实现用户对个人基本信息的维护修改;5. 查询管理模块:实现对牵引电机运行状态信息和维修历史信息的查询。除这五大功能模块外,还具有新用户注册,管理员审核等辅助功能。2.2角色描述及用例模型本系统有四类用户,分别是铁路局用户、装配商用户、制造商用户以及系统管理员。他们对系统的操作具有不同的权限。新用户可以进行注册,填写注册信息并选择所属的用户类别后,提交注册申请等待管理员的审核。系统管理员登陆系统后对新用户提交的注册申请进行审核。审核通过的新用户即可获得系统的登陆权限,并具备所属用户类别的相应操作权限。四类用户均具有对各模块内信息的查询及对用户个人信息的维护功能。此外,铁路局用户具有对运行线路信息、电机运行状态信息及电机的一、二级检修数据等信息的录入和修改权限;制造商用户具有对电机参数信息、电机出厂信息、电机三级检修信息及故障维修信息的录入和修改权限。管理员具有最高操作权限,可以对所有用户的信息进行修改或删除,可以对用户录入的各类信息进行维护和删除。用例图是由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图。它展示了用例之间以及用例同参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素,是软件开发必不可少的视图之一。根据上述系统描述及角色描述,得到按角色权限(铁路局用户、牵引电机装配商用户、牵引电机制造商用户以及系统管理员)划分的系统用例图,如图2-1所示。图2-1 系统用例图2.3业务流程分析在系统开发前,要对系统需求进行分析和归纳,确立所有的业务主角,并将与其相关的活动及流程清晰地制定出来,最终设计出业务逻辑视图、用户界面示意图,从而呈现出清晰地系统设计思路,这对于软件系统开发十分重要。在进行业务流程设计时,需要做如下准备: 1. 调查用户网络环境和配置,使系统能够具有合理可行的系统架构;2. 调查用户偏好和技能水平,这将直接影响到项目开发的深度和用户界面的设计;3. 预测并制定系统的性能指标,为编写测试计划提供依据。业务流程图图例如图2-2所示,本系统业务流程图如图2-3所示。图2-2 业务流程图图例图2-3 系统业务流程图2.4系统安全性分析本次毕业设计所设计的系统采用JSP+MySQL+Tomcat开发模式,因此在系统安全性方面所面临的问题主要是数据库是否安全可靠。一方面由于本系统的登陆界面中,需要用户输入用户名和密码,这是对用户身份唯一的识别方式,不能存在安全隐患。另一方面由于本系统采用MySQL数据库,其数据库文件在站点内部,它在数据的安全性方面存在一定的缺陷,当服务器受到攻击,重要的数据外泄,造成的后果是难以估计的。因此,为了提高系统安全性,必须对数据库中的重要数据进行加密以保证系统的安全。2.5系统可行性分析为了确定本次设计的CRH2型动车牵引电机履历管理系统的可行性,将利用可行性分析来探讨。可行性分析是针对各项可行性做出初步的分析。一般软件领域的可行性分析主要考虑三个方面:技术可行性、经济可行性及操作可行性。2.5.1技术可行性分析通过大学几年的学习,已经学习了诸如软件工程、数据库原理及应用、数据结构、C+、Visual Basic、JAVA等多门程序设计语言和网络等基础知识和专业知识,具备网站开发方面的基础知识,并掌握JSP语言编程技巧,具有独立完成小中型项目的设计与开发的能力。学校现有设备和环境可以提供给学生实习和上机,而且有专业老师可以对设计过程进行指导,具有技术可行性。2.5.2经济可行性分析经济可行性分析是预算本系统的经济效益能否超过它的开发成本。本次设计的CRH2型动车牵引电机履历管理系统是基于JSP开发的中小型数据库应用程序,设计过程需要的人力是极其有限的。但系统投入使用后,将大大减少人工管理的工作量,提高工作效率,其经济效益是显而易见的。并且本次软件设计由个人笔记本电脑进行开发实现,所使用的软件均可在网络中免费下载使用,无需额外花销来购置设备及软件工具,具有经济可行性。2.5.3操作可行性分析在Windows系统环境下,利用MyEclipse开发工具进行程序开发,并通过Tomcat服务器和与MySQL数据库的连接实现系统所需功能,掌握开发软件的使用技巧,而且JSP是已成熟的技术,加以使用有助于加快和简化程序的设计。设计具有操作可行性。第三章 系统总体设计3.1系统设计原则 系统设计工作应该自顶向下地进行,通常可分为总体设计和详细设计两个阶段。首先进行总体设计,主要是指在系统分析的基础上,对整个系统的划分(子系统、功能模块)、软件的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。在此基础上逐层深入,直至完成每一个模块的设计,这是软件设计的第二阶段详细设计。这两部分工作是互相联系的,需要交叉进行,本章将主要介绍系统总体设计部分。3.1.1系统体系结构设计在目前通用的软件开发方法中,基于Internet和Web的软件和应用系统的体系结构主要分为两类:客户机服务器结构(C/S)和浏览器服务器结构(B/S)。C/S(Client/Server)结构,即客户机和服务器结构。它是一种常用的软件系统体系结构,它一般建立在专用网络上,用于小范围内的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。早期的软件系统多以此作为首选设计标准。但C/S 结构一般是典型的中央集权的机械式处理,交互性相对低,因此对远程的互联网交互操作有局限性。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或改进的结构。在这种结构下,用户工作界面是通过访问浏览器来实现,极少部分事务逻辑在前端(Browser)实现,而主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总成本。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(如LAN,WAN,Internet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。本次毕业设计是基于Web的中小型软件开发,需要满足四类操作用户的交互使用要求。而B/S结构建立在广域网之上,不必是专门的网络硬件环境,普通的宽带上网即可实现,比C/S有更强的适应范围,一般只要有操作系统和浏览器就可以使用。因此我选择B/S结构的软件体系结构进行开发,以实现用户通过浏览器动态的管理CRH2动车牵引电机的履历信息,满足软件的功能需求11。3.1.2系统开发模式选择本次毕业设计主要采用JSP技术进行系统开发,利用JSP+Java片段+Servlet的MVC开发模式进行系统设计和实现。MVC(Model-View-Control),即模型-视图-控制器的简称,它是一个存在于服务器表达层的系统开发模型,它可以将应用分开,改变应用之间的高度耦合。JSP用来实现系统界面,即MVC中的V(视图),视图是用户看到并与之进行交互的界面,它向用户显示相关的数据,并能接收用户的输入数据,但它并不进行任何实际的业务处理,它可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。Java片段以类方法的形式实现系统的各项功能,即MVC中的M(模型)。它是系统的主体部分。模型代表了业务数据和业务逻辑;当数据发生改变时,它要负责通知视图部分,一个模型可以为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性12。Servlet用于进行逻辑处理、控制实体数据在视图上展示、调用模型处理的业务请求,即MVC中的C(控制器)。采用MVC软件开发模式后,软件系统在可扩展性和可复用性方面可以得到极大提高,在资源分配策略设计合理运用的同时,软件的性能指标也可以得到提升,系统的安全性也得到改善。较之两级结构来说,三层结构修改和维护上更加方便。目前开发B/S结构的Web应用系统广泛采用这种三层体系结构,因此在本次设计中采用MVC三层开发模式。3.1.3系统框架结构设计框架是网页中经常使用的页面设计方式,框架的作用就是把网页在一个浏览器窗口下分割成几个不同的区域,实现在一个浏览器窗口中显示多个HTML页面。使用框架可以非常方便的完成导航工作,使网站的结构更加清晰,系统操作使用更加方便。而设计框架的原则是,各个框架之间决不能存在干扰问题。利用框架最大的特点就是使网站的风格一致。通常把一个网站中页面相同的部分单独制作成一个页面,作为框架结构的一个子框架的内容给整个网站公用。本次毕业设计的系统主要分为两部分界面,登陆界面和系统主界面。登陆界面采用普通登陆窗口进行登陆,未使用框架结构。主页面采用框架结构设计,将网站页面分为三部分,顶部框架显示系统名称及登录状态和当前时间,左侧框架为导航菜单栏,罗列系统的各项功能,右侧为功能显示页面。根据用户的不同操作,系统将操作结果程序在右侧主页面中。在设计的初期先将主界面的整体框架简单设计并实现,以为接下来的详细设计做准备,整个主界面框架如图3-1所示。图3-1 系统主界面框架结构3.2系统概要设计 3.2.1系统功能模块设计本系统主要分为五大功能模块:基本信息管理模块、维修信息管理模块、统计分析管理模块、用户信息管理模块、查询管理模块。除这五大功能模块外,还具有新用户注册,管理员审核等辅助功能。其中信息管理模块包括对电机信息和运行线路信息的管理;维修管理模块包括对计划检修和故障维修信息的管理;统计分析管理模块用于对故障数据进行分析汇总;用户管理模块可以对用户个人信息进行维护;查询管理模块可以查询电机的运行状态信息和详细的维修记录信息。此外,系统还包含用户注册功能模块,新用户可以同过提交注册信息获得登录系统的权限,同时管理员可以对新用户的注册信息进行审核。本系统的功能模块图如图3-2所示。图3-2 系统功能模块图3.2.2用户操作权限设计本系统有四类使用用户:铁路局用户、制造商用户、装配商用户和管理员用户。这四类用户对系统的操作权限不同,其中管理员具有最高操作权限。铁路局用户负责管理动车牵引电机的配属情况、运行状态信息、运行线路信息以及计划检修的一、二级检修部分,此类用户可以对上述信息进行录入操作,可对除检修信息以外的信息进行修改和删除操作,对个人信息可以进行维护,对其他方面信息只可做查询操作;制造商用户负责管理电机的出厂信息、电机的型号参数信息、计划检修的三级检修部分已经故障维修信息,此类用户可以对上述信息进行录入操作,对除计划检修和故障维修以外的信息进行修改和删除操作,对个人信息可以进行维护,对其他信息只可做查询操作;装配商用户对个人信息可以进行维护,对其他各类信息只具有的查询权限;管理员用户具有最高操作权限,可以对系统中全部信息进行录入、修改、删除和查询操作。同时管理员可以对新注册用户的信息进行审核操作,对信息填写属实的新注册用户通过申请,信息填写不实的新注册用户拒绝申请。第四章 系统数据库设计数据库设计是指根据用户的需求,在具体的数据库管理系统上,设计数据库的结构和建立数据库的过程,它是管理信息系统的一个重要组成部分,并且决定信息系统开发的好坏和系统的简洁方便程度。数据库系统需要操作系统的支持。数据库设计的内容是:对于一个确定的环境,进行符合应用语义的逻辑设计,以及提供一个确定存贮结构和物理设计,建立实现系统目标,并能有效存取数据和数据模型。其主要任务是设计出能够反映实际信息关系、数据冗余少、存储效率高、易于实施和维护,并能满足各种应用要求的数据模型。本次毕业设计采用的数据库是MySQL数据库。MySQL是一种开放源代码的关系型数据库管理系统,该数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择13。数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护6个阶段。在这一章节将对数据库各个阶段的设计进行一一介绍。4.1数据库概念设计数据库概念设计就是对所设计系统的信息世界进行建模,常用的概念模型是E-R模型,即实体-联系模型,它是指在数据库需求的基础上,设计出能够满足用户需求的各种实体,以及直观地表示各个实体之间属性关系的抽象模型,为后面的逻辑结构设计打下基础。设计者将用户描述的现实世界,通过对其中实体的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和处理的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。本系统采用E-R图的方法进行数据库概念结构设计。E-R图是描述数据实体关系的一种直观描述方法。图中包括实体、实体属性以及实体之间的联系,各自表示的含义如下:1. 实体:用方框表示,方框内为实体的名称。2. 实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线段将其和响应的实体连接起来。3. 实体之间的联系:用菱形表示,菱形内为联系的名称。4.1.1主要系统实体描述首先是账号(注册)信息实体,该实体主要用于存储新用户的注册信息和系统使用用户的登陆信息,包括用户名、密码、所属部门、用户姓名、身份证号、账号审核状态等属性。账号(注册)信息实体的E-R图如下:图4-1 账号(注册)信息实体图用户个人信息实体,该实体主要是描述系统使用用户的全部详细信息,主要包括系统用户的用户名、姓名、性别、出生日期、手机号、电话号、电子邮箱、地址、邮政编码、工作单位以及职位信息,其实体图如下所示:图4-2 用户个人信息实体图 电机出厂信息实体,该实体用于存储CRH2型动车牵引电机的出厂信息,主要包括电机编号、定子编号、轴编号、电机型号、生产商、出厂日期等属性。电机出厂信息实体图如下所示:图4-3 电机出厂信息实体图 电机基本参数信息实体,该实体是用于存储各型号电机的基本参数信息,主要包括电机型号、电机名称、级数、相数、绝缘等级、温度上升极限、冷却方式、驱动方式、最高使用转速、最高试验转速等信息。电机基本参数信息实体的E-R图如下所示:图4-4 电机参数信息实体图电机额定参数信息实体,该实体是用于存储各型号电机的额定参数信息,它包括电机型号、类别、功率、电压、电流、频率、转差率、转速、效率、功率因数等信息。电机额定参数实体的E-R图如下:图4-5 额定参数信息实体图 电机运行信息实体,该实体是用于描述与电机运行相关的信息,主要包括电机编号、配属单位、运行线路、运行时长、运行里程和运行状态等信息,其E-R图如下所示:图4-6 电机运行信息实体图 线路详细信息实体,该实体是用于描述电机运行线路的详细信息,主要包括线路名称、主要车站、线路里程。其E-R图如下所示:图4-7 线路详细信息实体图电机维修信息实体,该实体是用于描述电机的计划检修基本信息以及电机的故障维修详细信息,主要包括电机检修(维修)编号、电机编号、检修等级(故障原因)、故障类型、故障编码、检修(维修)时间、检修(维修)地点、检修(维修)单位、维修类型(计划/故障)、维修状态(进行中/完成)。其实体的E-R图如下所示:图4-8 电机维修信息实体图电机检修计划信息实体,该实体是用于描述待检修电机的检修计划信息,主要包括待检修电机编号、电机运行时间、电机运行里程、计划检修等级。其实体的E-R图如下所示:图4-9 电机检修计划信息实体图电机1级检修记录实体,该实体是用于描述电机进行1级计划检修的记录信息,其中包括电机检修编号、检修人、检修时间以及对电机五项检修内容的检修情况。其实体的E-R图如下所示:图4-10 电机1级检修记录实体图电机2级检修记录、电机3级检修入厂记录以及电机3级检修出厂记录实体同电机一级检修记录实体类似,由于篇幅有限,在此不进行详细描述。4.1.2系统总体E-R图 将所有实体的E-R图通过逐步集成,合并,修改和重构,消除冲突和不必要的冗余之后,综合成一个系统总体E-R图。本系统的总体E-R图如下所示:图4-11 系统总体E-R图4.2数据库逻辑设计数据库逻辑设计是指设计数据库的逻辑结构,与具体的DBMS(数据库管理系统)无关,主要反映数据库的业务逻辑。数据库逻辑设计是整个数据库设计的前半段,包括所需的实体和关系,实体规范化等工作,是将概念设计阶段设计好的基本E-R图转换为与所选用的DBMS产品所支持的数据库模型相符合的逻辑结构。数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。逻辑结构的设计主要包括两个步骤:首先,按照E-R图向数据模型转换的规则,将概念结构转换为DBMS所支持的数据模型;然后,对数据模型进行优化。其中E-R图转化为关系模型是必须满足第三范式的要求,即关系模式中的所有属性都不可再分(1NF),所有非主属性都完全依赖于主属性(2NF),并且属性之间不存在传递依赖(3NF)。根据系统功能设计的要求以及功能模块的划分,依照概念设计中的系统E-R图,对CRH2型动车牵引电机履历管理系统中的多个实体转化为关系模型,如下所示:(1)用户信息账号信息(用户名、密码、所属部门、用户姓名、身份证号、账号审核状态)用户详细信息(用户名、姓名、性别、出生日期、手机号、电话号、电子邮箱、地址、邮政编码、工作单位、职位信息)查看/修改/审核(用户名、所属部门)(2)电机出厂信息电机出厂信息(电机编号、定子编号、轴编号、电机型号、生产商、出厂日期)用户信息(用户名、密码、所属部门)按电机编号管理(用户名、所属部门、电机编号)按电机型号查询(电机型号)(3)电机参数信息电机基本参数(电机型号、电机名称、级数、相数、绝缘等级、温度上升极限、冷却方式、驱动方式、最高使用转速、最高试验转速)电机额定参数(电机型号、类别、功率、电压、电流、频率、转差率、转速、效率、功率因数)对应联系(电机型号)用户信息(用户名、密码、所属部门)