【PHP开源代码栏目提醒】:网学会员PHP开源代码为您提供基于Ruby on Rails的铁路旅客伤亡管理系统 - 硕士论文参考,解决您在基于Ruby on Rails的铁路旅客伤亡管理系统 - 硕士论文学习中工作中的难题,参考学习。
西南交通大学 硕士学位
论文基于Ruby on Rails的铁路旅客伤亡管理系统 别:硕士 专业:计算机应用技术 指导教师:黄洪 20100601 西南交通大学硕士研究生学位
论文 第1页 摘 要 旅客伤亡管理系统是一个基于B/S(Browser/Server,浏览器/服务器)的W曲应用系统。
随着社会的发展,基于B/S架构的Web应用系统规模逐渐增大,系统开发的复杂程度也达到了前所未有的高度。
为了解决Web系统开发诸多问题,出现了许多优秀的框架技术,这对于提高系统开发效率起到了一定的作用。
敏捷开发技术能够快速实现系统主要功能,它的出现使得软件开发中用户需求多变这个问题得以解决。
Ruby on Rails框架是基于MVC架构的框架,作为一个相对较新的Web开发框架,它总结了过去其他Web开发框架的特点,融合了敏捷开发、测试驱动的思想,对REST (Representational State Transfer,表述性状态迁移)架构提供了良好的支持,它使得Web应用系统的开发、部署和维护变得更容易。
本文首先对Ruby语言、敏捷开发、测试驱动、MVC开发模式、REST架构做了简要介绍,深入分析了Ruby on Rails框架的整体结构,对于其主要组成部分进行了阐述,分析了Rails框架及REST架构跟MVC开发模式的关系。
本文对旅客伤亡管理系统的进行了详细的需求分析,得出了旅客伤亡案例的处理流程包括案例录入、案例申报、案例复核、案例审核、过程录入、案例结案、案例清算等步骤,同时还结合实际需求,分析了各种查询、汇总的功能。
在系统实现部分,首先系统的介绍了Ruby On Rails框架的主要开发技术,然后以旅客伤亡案例的处理流程为主线,对系统中每个功能的实现过程进行了分析和叙述,对于开发过程中所遇到的问题也给出了相应的解决方案。
对于系统在REST架构方面的体现进行了叙述。
本文最后对系统开发过程进行了总结,阐述了在系统开发中所遇到的问题以及具体的解决方案,并为系统今后进一步扩展做了展望。
关键词:Rails;MVC;敏捷Web开发;测试驱动 西南交通大学硕士研究生学位
论文 第1I页 Abstract Passenger Injury Management System is a Web Application System based onB/S(Browser/Server).With the development of society,the scale of Web Application basedon B/S is augmenting,the complexity of development has been a high level that it has neverbeen.To solve the problems while developing,a lot of excellent framework appears,whichplays all important part in development.Agile development technology Call quickly realizethe main function of the system,its appearance gets the problem that USerS’requirementchanges a lot during software development solved. Ruby on Rails is a framework which is based on MVC structure,is a comparatively newWeb development framework,it summarizes the feature of former Web developmentframework,adds the idea of agile development and test—driven and well supports theREST(Representational State framework, which Transfer) makes the development,deployment and maintenance of Web application system easy. Firstly this article briefly introduces Ruby language,agile development,test—driven,MVC structure,REST structure,fully analyzes the whole structure of Ruby on Rails,expounds the function of main component of Rails,and analyzes the relation among Railsframework,REST structure and MVC development pattern. This article gives a11 requirement analysis of passenger injury management in detail,comes to know that the handling process of passenger injury cases includes case record,casedeclare,case check,case audit,process record,case ending,case liquidateand SO on.At thesame time,with the requirement analysis,this article analyzes the function of searching andsummarizing.In the part of realization,it firstly introduces the main development technologyof Ruby on Rails,then according to the handling process of passenger injury case,itanalyzes the realization process of each function,and gives an Rnswer to the problem thatmeets in the process of development.This article expounds the relation between this systemand REST structure. Finally this article summarizes the development process of the system,expounds theproblems that is possible to meet in the future and the specific solvent,and makes anexpectation to the next step of research of this system.Keywords:Rails;MVC;Agile Web Development;Test-driven 曲南父遗大罕 西南交通大学 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,同意学校保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权西南交通大学可以将本
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位
论文。
本学位
论文属于1.保密口,在 年解密后适用本授权书;2.不保密函,使用本授权书。
(请在以上方框内打“扩) 学位
论文作者签名:彦 j氐 指导老师签名: 日期: 沙加、‖、,口 西南交通大学硕士学位
论文主要工作(贡献)声明 本人在学位
论文中所做的主要工作或贡献如下: (一)对Ruby on Rails框架、Ruby语言、敏捷开发、测试驱动、MVC架构、REST架构进行了研究。
(二)对成都铁路局旅客伤亡管理系统进行了详细的分析与设计,根据业务需求,旅客伤亡案例的处理包括案例录入、案例申报、案例复核、案例审核、案例处理、案例结案、案例清算等一系列处理流程。
(三)使用Ruby Oil Rails框架对成都铁路局旅客伤亡管理系统进行了实现。
本人郑重声明:所呈交的学位
论文,是在导师指导下独立进行研究工作所得的成果。
除文中已经注明引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中作了明确说明。
本人完全了解违反上述声明所引起的一切法律责任将由本人承担。
学位
论文作者签名:专支父 日期:加/o。
/、;p 西南交通大学硕士研究生学位
论文 第1页 第1章绪论1.1课题研究背景及意义 随着社会的发展,“以人为本”的理念越来越深入民心,众所周知,安全是人类最重要、最基本的需求,是人民生命与健康的基本保证,一切生活、生产活动都源于生命的存在。
随着经济的发展,交通给人民的生活带来了巨大的便利,交通已经成为国家经济发展的重要支撑。
然而在交通给我们便利的同时,交通事故时有发生,威胁着人们的生命安全。
因此,旅客的生命安全以及对安全事故的处理工作受到交通主管部门的重视。
铁路交通作为交通领域的重要组成部分,铁路旅客安全问题以及对旅客伤亡案例的处理就显得尤为重要。
铁路交通有其自身的特殊性,旅客伤亡案例发生的地点也不尽相同,车站内部、站台、列车上都有可能发生意外,对于这些案例的处理,要经过案例录入、案例申报、案例复核、案例审核、过程录入、案例结案、案例清算等一系列步骤,这些工作需要各个铁路站点、车务段、客运段、铁路局客运处等相关部门协调处理才能顺利完成。
在传统方式下,由于各部门地理位置比较分散,因此案例处理工作的效率相对较低,而处理案例所必须的材料,诸如:文字材料、案例相关图片材料等,都要借助于多种途径来进行实物传递,这样就大大降低了工作效率。
对这些材料的整理、汇总,基本靠人工统计完成,工作量很大,不但效率低,而且还容易出错。
这种方式已经不能满足于旅客伤亡案例管理的发展需要,因此依靠计算机和网络技术来提高工作效率就显得相当重要。
基于上述原因,针对成都铁路局的旅客伤亡管理系统的开发就被提上了日程。
目前,计算机和网络技术发展迅速,互联网在我们的学习和生活中扮演了一个重要角色。
互联网能够实现信息交互和资源共享,它大大提高了社会各领域的工作效率。
国家政府机构、企事业单位都在努力利用当前互联网技术,组建和升级各种Web应用系统,用以提高办公效率。
在Web应用系统中,B/S模式已经占据了绝对主导地位。
一直以来,以J2EE和.Net为主的开发技术在Web应用领域有着广泛的应用。
J2EE具有开放性、跨平台等特点,得到Web开发者的广泛支持,也出现了众多的开发框架技术,但是这些框架普遍有开发效率不高, 应用程序配置文件庞大且难于管理的缺点。
而.Net平台的开发技术,由于不是
开源技术,因此有开发成本相对较高的缺点。
RubyOilRails框架的出现为Web领域的开发者提供了一个新的开发平台。
随着企业业务逻辑的日趋复杂,客户对系统的功能需求也时常发生变化,这对传统的开发模式和开发人员都提出了考验。
如何让开发人员更加关注业务本身,而非底层技术细节,如何让系统各层之间以尽可能低的耦合度来来发,如何去应对客户需求分析的变化,如何提高系统开发效率,这些都是Web开发领域中亟待解决的问题。
西南交通大学硕士研究生学位
论文 第2页 在这种背景下,本文通过研究和探讨Ruby 011 Rails框架技术,为旅客伤亡管理系统的开发提供解决方案,对于上述众多问题进行了阐述,这是本文的主要内容和意义所在。
1.2国内外研究现状 在W曲开发领域,WebWork、Struts、JSF、Hibernate等各种框架层出不穷,框架技术得到了很大的推广和应用,利用框架能够降低系统的开发难度,规范
代码结构,能够提高系统的可扩展性、可维护性、以及灵活度。
Ruby on Rails框架是在2004年7月被首次提出,由丹麦人David Heinemeiel”Hansson开发。
Ruby Oil Rails框架是一个高效的W曲开发框架,它不同于以往的框架技术,它是一个全栈式的、基于MVC架构的、使开发、部署、维护变得更加容易的的框架。
RubyOil Rails框架由纯面向对象语言Ruby编写,RubyOil Rails吸收了PHP体系开发快速以及Java体系
代码规整的优点,借助
开源的优势,对世界Web开发领域产生了很大的吸引力。
近几年来,Ruby on Rails框架得到了迅猛的发展,这种迅猛的发展也从一个侧面反映了当前web开发过程的繁琐,Ruby Oll Rails框架恰恰弥补了web开发繁琐的缺点【11。
REST网络架构使得构建Web应用更能适应不同客户端,针对不同的客户端,生成HTML、XML、RSS等格式文件。
敏捷开发作为一种轻量型的开发方法,更能适应客户多变的功能需求。
测试驱动开发改变了过去先开发后测试的过程,而是要求测试先行。
这些新技术的应用,与过去传统软件开发模式相比较,有了很大的改进,更适应当前开发的需要。
1.3课题来源 成都铁路局旅客伤亡管理系统。
1.4
论文的主要内容 本文介绍了Ruby on Rails框架的相关技术,敏捷性是该框架的主要特点,文中论述了Ruby on Rails框架在敏捷性方面所表现出的强大能力,通过针对旅客伤亡管理系统的设计,验证了框架在应对客户需求多变方面所具有的先进性。
介绍如何应用Rubyon Rails框架高效率地开发本系统是本文的重点所在。
本文对REST架构的规范和设计标准做了详细的阐述。
针对MVC模式各个部分在Ruby on Rails框架内部是如何应用的做了探讨和研究。
根据这些探讨和研究,阐述了如何将这些思想应用到旅客伤亡管理系统开发中。
西南交通大学硕士研究生学位
论文 第3页 本文分析了旅客伤亡案例的处理流程,得出了系统所要实现的功能,根据用户的实际需求,以旅客伤亡案例的处理流程为主线,详细说明了案例处理的一系列功能的实现过程。
论文的最后对系统的部署工作和运行阶段的日志维护作了叙述。
本文就系统开发过程中遇到的一些实际问题,比如针对中文乱码、应用服务器的选择、seseion存储等做了探讨并给予解决方案。
1.5
论文的主要结构 基于上述背景,本文对Ruby on Rails这门较新的框架级技术做深入的研究,并对该框架在本系统中的实际应用做了探讨。
本文共分为五章: 第1章:绪论。
主要分析
论文研究的背景及意义,阐述该技术在国内外的研究现状,以及以后的发展趋势。
对
论文的主要内容以及篇章结构做了概要介绍。
第2章:Ruby on Rails概述。
简单介绍了Ruby语言,详细叙述了Ruby on Rails框架的整体结构,以及所具有的敏捷开发、测试驱动等特点,REST网络架构的思想以及设计准则,Ruby Oil Rails框架中在MVC模式上的体现,这为后续章节相关技术的应用做理论基础。
第3章:系统分析与设计。
分析了系统的设计目标,对系统的需求分析做了详细描述,以及对数据库进行设计。
最后是对系统的整体架构做了说明。
第4章:系统实现。
介绍了开发环境的选择和搭建,利用Ruby on Rails框架所具有敏捷性、测试驱动等特点进行开发,针对案例处理的一系列流程的实现做了详细叙述,对MVC模式在系统中的体现做了阐述,描述了Ruby Oil Rails框架对REST架构的支持以及具体在本系统中的应用。
第5章:系统的部署和运行。
阐述了系统在部署阶段的工作要点,以及系统运行过程中的关于日志的管理工作。
总结与展望:对全文工作进行了总结,并指出在Web应用领域发展趋势和今后工作的重点,展望了Ruby on Rails框架在企业应用中发展的前景。
附录部分展示了关于伤亡案例管理的Scaffold脚手架的运行
代码。
西南交通大学硕士研究生学位
论文 第4页 第2章Ruby on Rails概述 Ruby on Rails(以T简称Rails)是使用面向对象脚本语言Ruby编写的框架。
Rails是基于MVC架构的全栈式框架,它使得Web应用系统的开发、部署和维护变得更容易。
跟其他框架技术相比较,使用Rails开发Web应用系统语法更自然、开发速度更快速【21。
2.1 Ruby语言简介 Ruby语言是一种为了简单快捷地面向对象程序设计而创造的脚本语言。
由日本人松本行弘开发。
Ruby跟Smalltalk比较相似,是完全面向对象的语言,它还具有类似Perl语言一样强大的文字处理功能的特点【”。
松本行弘在1993年2月开始着手Ruby语言的研发工作,到1995年12月推出了Ruby的第一个版本。
截止到目前为止,Ruby语言使用率较高的稳定版本是1.8.6,该版本相比过去旧版本在很多方面做了更新和完善。
Ruby语言主要的特点如下: (1)完全面向对象 任何事物都是对象,包括其他语言中的基本数据类型也是对象〔4〕,比如整数在Ruby语言中是对象,被赋予方法,可以生成实例变量。
(2)解释性脚本语言 由于Ruby是解释性语言,由此Ruby编写的程序无须事先编译就可以运行,方便了程序的调试。
(3)动态性 Ruby的动态性体现在
代码块(block)上,程序员可以给函数添加一个密闭的
代码块来确定该函数所具有的功能。
在被定制的函数中设定yield语句,当被定制函数中的语句执行到yield语句的位置时,Ruby的解释器将会自动用指定给该函数的block
代码块来替换掉yield语句,执行block中的
代码。
Ruby语言的动态性还体现在变量无须提前定义就可以拿来使用。
(4)命名规则 在Ruby语言中,变量名使用特殊符号来表明其存在范围,全局变量以¥开头,实例变量以@开头,类变量以@@开头【51。
另外常数以大写字母开头。
(5)其他特性 ◆使用垃圾回收器来自动回收Ruby对象; 西南交通大学硕士研究生学位
论文 第5页 ◆具有类似Java语言的异常处理机制; ◆具有广泛的平台适应性。
2.2 Rails框架的MVC模型 MVC模型是由Trygve Reenskaug提出的一种架构方式。
在MVC架构中,应用程序被分为:模型(Model)、视图(View)以及控制器(Con仃011哪这三类组件‘61。
Rails是全栈式的MVC框架,不需要其他技术的整合。
Rails惯例优于配置,节省了配置文件,并且它还具有功能强大的
代码生成器,提高了开发效率【71。
2.2.1 MVC模型 MVC模型各部分描述如下: (1)模型:模型用来维护应用程序的状态,状态有可能是临时的,只存在于用户的临时交互之间;也可能持久性的保存在数据库中的。
模型不仅是数据的容器也是数据的监护者,模型除了包含数据,还可以包含系统的业务逻辑。
(2)控制器:控制器协调整个系统的运作,将用户界面和数据模型关联起来。
它接收前台用户的输入,针对用户输入的请求,来决定相关的模型去处理这个请求,并将用户所要的结果,以指定的页面返回给用户。
(3)视图:视图是用户跟系统交互的界面,视图可以接受用户输入多种格式的数据,同时也将后台反馈回来的信息展现给用户。
HTML在视图中扮演了重要的角色,随着技术的发展,视图也渐渐发生了变化,开始在HTML中内嵌XML、JavaScript。
以上三个部分构成了MVC模型,它将系统的输入、处理、输出进行了分离,模型、控制器、视图分层使得系统的设计更加清晰,减轻了模块之间的耦合度【8】。
经典的MVC模型结构如图2.1所示【9】: Controller 接受用户请求 / 至UModel / ≯≤’ 选择View响应 定义应用行为 ∑? ‖’ View 。
\ Model 用户界面信息 交互用户 ——查询———呻 业务流程处理 业务改变 请求Model 图2.1 MVC模型结构图 西南交通大学硕士研究生学位
论文 第6页2.2.2 Rails框架与MVC模型 本文所要研究和探讨的Rails框架就是基于MVC模型的。
Rails框架要求开发人员将应用程序按照模型、视图、控制器进行划分,并遵循这一结构分别发各个部分的功能。
在Web领域中,模型和控制器位于服务器端,视图位于客户端,视图不能像经典MVC模型的那样直接调用控制器的,它根据客户的请求映射成不同的URL,然后系统的分发器会根据不同的URL,去调用不同的模板。
在Web世界中的MVC应用程序是通过使用前端控制器(Front Controller)模式来实现的【10】。
在这个模型中,包含了一个分发器,Rails框架是通过路由组件(Routing)来实现分发器的,路由组件判断应该将请求发送到程序的什么部分、如何解析这一请求,传入的URL会由Controller映射至某Action。
缺省映射机制是/:controller/:action/:id,Action可以查询请求中携带的数据,并可与模型对象进行交互,或者调用他Action。
Action在处理完业务逻辑以后,会返回数据信息,这些信息由对应的页面去显示给用户。
在Rails框架中,是用rhtml文件来完成这部分工作的。
Rails框架的MVC结构如图2.2所示【11】。
器 口 Database 图2-2 Rails框架MVC模型结构图2.3 Rails框架整体结构 Rails框架包括很多部分,每个部分担当不同的任务。
整体来讲,Rails框架由ActiveRecord和ActionPack这两大部分组成,如图2.3所示。
ActiveRecord提供了一系列技术,用于操作来自SQL数据库的数据。
ActionPack由ActionController和ActionView这两部分组成,提供了处理和显示这些数据的设施。
Rails将它们三者结合到一起,形成了MVC模型的结构。
在Rails中控制器控制了所有业务逻辑,它接 西南交通大学硕士研究生学位
论文 第7页收来自于外部的HTTP请求,经映射来决定由哪个Action来处理这个请求。
ActiveRecord对数据库中数据进行操作,然后将得到的数据再次转交给ActionController,由它决定把数据给对应的ActionView来显示给用户。
Rails框架 .