- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ROR的网络订餐系统的设计与实现
1 引言
ROR是Ruby On Rails的英文简称,ROR是指使用 Ruby语言实现的Rails Web开发框架。
Ruby是一种功能强大的面向对象的、解释型的脚本语言。Ruby语言具有下面几个特点: 语法简单、纯面向对象语言、提供动态对象能力、使用单继承机制、操作符重载、迭代器和闭包、垃圾回收、错误处理功能、拥有独立于操作系统的线程机制、可移植性高。
Ruby on Rails 是一个使用纯Ruby语言编写的、实现了MVC模型的、易于开发、配置和管理的Web应用程序的框架。Rails的设计思想由一组关键的概念来驱动:低重复(DRY)、约定优于配置、快速Web开发框架、对数据库访问的支持。
将(模型-视图-控制器)MVC模型用于软件设计中可以使应用程序的构造更加清晰。Rails是一个MVC框架。使用Rails开发应用时,每个代码以及应用程序的每个部分都遵循标准的方式。也就是说,是在一个被事先准备好的框架内开始应用程序设计的。Rails应用程序是由模块化的、面向对象的脚本语言Ruby写成的,这些模块之间的相互链接和关系驱动着MVC模型的运行。
ROR这些特点也使它逐步从一个开源和个人的Web开发框架走向主流,在诸多Web开发框架中以其鲜明的特色占据了一席之地。2007年12月6曰,ROR2.0发布,进一步强化了对企业应用的支持。
2 系统分析与设计
2.1 功能描述
基于ROR在开发应用上的诸多优势,本文使用ROR开发了一个小型的网络订餐系统,根据客户要求,该系统应具备下列主要功能:
(1)向注册的客户提供可预订商品的列表和详细信息,供客户选择。这些信息的维护由系统管理员进行。
(2)向客户提供一个订单提交、浏览和处理界面,实现购物车形式的订餐功能。
(3)提供用户资料的管理功能,包括增加、删除和信息修改。
(4)提供用户登录和权限控制功能,将为普通用户和系统管理员提供不同的界面。
(5)提供商品和订单信息的查询功能、统计功能和打印功能。
系统选用数据库作为后台数据库,运行环境为:Windows 2000 Server、Ruby 1.8.4、Rails 1.0、MySQL 5.0。
2.2 使用ROR实现订餐系统的技术路线
1)将需求模块化
设计中将以递增式开发这个应用程序,首先使用Rails立即创建具有一些功能的简单应用myMealOrder。
系统中开始只区分两种不同的角色:买方和卖方。买方使用myMealOrder来浏览站点可以出售的商品,选择商品并创建一个订单。卖方使用myMealOrder来管理用于出售商品的列表,并等待处理订单,然后将订单发货。
考虑到用户需要选择多项商品,系统中需要有地方保存用户添加的产品列表的,所以在设计中添加了一个购物车。
2)使用Rails的“支架”
第一个任务是创建Web接口来管理系统中的商品信息---包括创建商品信息,编辑现有商品,查看已有的商品信息,删除不需要的商品。为了实现以上功能,在数据库中应当建立几张表,使用Rails “支架”来自动生成最初的代码,这也是Rails具有敏捷性开发效率的一个原因。
Rails“支架”是为管理一个“模型”而自动创建的一个框架。当运行“生成器”时,告诉它需要“支架”来生成一个特殊的“模型”(由“支架”创建的),并且需要通过给定的“控制器”(也是由“支架”创建的)来访问它。在Rails中,“模型”被自动地映射到使用“模型”的类的名字的复数形式的数据库表。在应用程序中,根据需要要求有一个名为good的“模型”,所以Rails将它与叫goods的表关联起来。
Rails是如何找到这个表的呢?在config/database.yml中设置development条目时,就已经告诉Rails在哪儿找数据库的表了。当启动应用程序时,“模型”检查数据库内的表,处理它要得到的列,然后创建数据库表和Ruby对象之间的映射。通过“支架”表单“生成器”可以向“模型”要求有关表的字段信息,然后就使用它找到的字段来创建一个合适的html表单。
3)使用Rails的“控制器”
“控制器”处理来自浏览器的“请求”,一个应用程序可以有多个“控制器”。对于本次设计的myMealOrder应用程序来说,最终会有四个“控制器”,一个用于处理商品资料,一个用于处理定单信息,一个用于用户资料,一个用于登录管理。
4)在生成的源码基础上根据需要修改代码
scaffold工具所生成的Rails“支架”使用Ruby代码来组装应用程序目录树。这个目录树表达了一个完整的应
文档评论(0)