1、.102.2.1 Databa Configure.102.2.2 Model Design .122.2.3 Migration Task.12Chapter 3 Web Page Design.143.1 Design Methodology.143.2 CSS + xHTML.183.3 The Solution Project of View Layer .21Chapter 4 Web2.0 and Ajax.234.1 Web2.0.234.2 The Definition amd Key Technology of Ajax .244.2.1 Definition .244.2.
2、2 Compare Ajax with Traditional B/S Framework.244.2.3 The Key Technologies.28Chapter 5 The Application of Ajax .295.1 Ajax in Rails .295.2 Ajax in PinKe Web.315.2.1 Core Module: PrototypeHelper .315.2.2 Effect Module: ScriptaculousHelper.435.3 Others .465.4 Conclusion.49Chapter 6 Summarize and Expec
3、tation.506.1 Summarize .506.2 Expectation .50VIAcknowledgements .53References.54基于敏捷软件开发方法的 Web2.0 网站开发 Ajax 在拼客网站的应用1第一章 引言1.1 课题背景及意义WEB 应用已经进入 WEB2.0 “草根”时代,用户成为网络内容的主体。每天都有无数的新想法诞生,Ruby on Rails 提供给我们一种快速的网站开发方法,只要你有想法,你就能很快的把它实现,使得我们可以把主要的精力放在创造想法和满足需求上,Ruby 所代表的一类动态的、自由的程序设计语言和开发思想将占有越来越重要的地位。
4、目前,Ruby on Rails 正在成为 Web 应用程序开发的新途径。 Ruby on Rails 是基于 Ruby 语言的轻型 Web 开发架构,不仅开发效率高(部署容易) 、功能丰富(支持 Ajax、Web Services 等最新应用) ,而且性能方面表现相当出色。该架构的支持者们声称 ROR 开发人员的生产效率最多是使用传统 J2EE 架构的十倍,网上也有相关测试资料显示,该架构性能比轻量级的 J2EE 架构 Struts + Hibernate 高 15%30%。拼客是近年来出现的新兴群体。这里的“拼”不是拼命,拼刺,拼抢,拼争,而是拼凑,拼合。 “客”代表一群人,因此, “拼客
5、”指的就是集中在一起共同完成一件事或活动,实行 AA 制消费的一群人。这样,既可以分摊成本、共享优惠、又能享受快乐并从中交友、识友。 “AA 拼客”们,倡导的就是一种“节约、时尚、快乐、共赢”的新型生活方式。目前的拼客有:拼房(合租) 、拼饭(拼餐) 、拼玩、拼卡、拼用、拼车(顺风车) 、拼游(拼团或自助游) 、拼购(团购)等等。AA 拼客是一种时尚、一种潮流、一种理念、一种生活的态度、一种生活的方式。 “拼” ,简而言之就是:联合更多的人,形成更大的力量,花更少的钱,消耗更少的精力,做成我们想做的事情,获得更多的快乐,享受更好的生活。1.2 课题要求使用 Ruby 语言在 Rail 平台上采
6、用敏捷软件开发方法构建一个具有 Web2.0特性的拼客网站。学习并使用 Ajax 技术,通过异步发送请求,改善用户体验。架构方法:基于敏捷软件开发方法的 Web2.0 网站开发 Ajax 在拼客网站的应用2Rails 框架的 MVC 架构。测试方法:代码严格按照 Rails 提供的测试功能测试。整个项目开发采用测试驱动方法在 Internet Explorer 7.0 浏览器下进行开发以及测试。1.3 相关技术概述1.3.1 开发环境硬件环境:普通个人电脑软件环境:操作系统: Microsoft Windows XP SP3开发语言: Ruby1.8.6,JavaScript ,HTML ,C
7、SS 开发工具: Eclipse3.4,Aptana 插件, RadRails 插件框架: Rails1.2.2数据库: MySQL Database 5.0浏览器: IE7.0 / GreenBrowser4.9项目管理平台:TortoiseSVN 1.4.51.3.2 Ruby 和 Rails 介绍(1) Ruby 是一种解释型的方便快捷的面向对象的脚本语言,由日本人松本行弘(Yukihiro Matsumoto,外号 matz)开发,遵守GPL 协议和 Ruby License 。Ruby 的作者于 1993 年 2 月 24 日开始编写Ruby,直至 1995 年 12 月才正式公开发
8、布于 fj (新闻组) 。之所以称为Ruby,是因为 Perl 的发音与 6 月的 诞生石 pearl(珍珠)相同,因此Ruby 以 7 月的 诞生石 ruby (红宝石)命名。Ruby 的作者认为 Ruby (Smalltalk + Perl) / 2,因为 Ruby 是一个语法像 Smalltalk 一样完全面向对象、脚本执行、又有 Perl 强大的文字处理功能的编程语言。 1基于敏捷软件开发方法的 Web2.0 网站开发 Ajax 在拼客网站的应用3(2) Rails 是用 Ruby 编写的一款完整的、开放源代码的 Web 框架,目的是用更简单而且更少的代码编写 Web 应用。诞生于 2
9、004 年 7 月,Rails 的创始人 David Heinemeier Hanson 从 37signals 公司的项目管理工具 Basecamp 里面分离出 Ruby on Rails,并且以开源方式发布。Rails 当中有很多规矩从一开始就按照 David 的意见制定好了,所以在 Rails 上开发应用程序时,开发人员可以专注于应用程序自身的设计,省却那些花在了解及配置基础框架上面的时间。这也正是 Rails 很重要的精神“惯例优于配置” (Convention over Configuration) ,开发人员遵照 Rails 本身的惯例便可以省却配置组态(例如 JavaEE 应用中
10、的大量的配置文件)的时间;此外,Rails 虽然强调惯例的重要及便利性,但针对不同的需求,Rails 也提供修改的空间让开发人员可以进行自订的组态,定义自己的配置来覆盖 Rails 配置。 1(3) Ruby on Rails 是一种结合 Ruby 语言与 Rails 平台的一种网页编程语言,Ruby 语言以自然、简洁、快速著称,全面支持面向对象程序设计,而Rails 则是 Ruby 广泛应用方式之一,在 Rails 平台上设计出一套独特的MVC 开发架构,采取模型(Model) 、视图(View) 、控制器(Controller)分离的开发方式,不但减少了开发中的问题,更简化了许多繁复的动作
11、。 1Rails 框架提供了开发 Web 应用的一站式选择。1.4 术语定义本文档中所用到的专门术语的定义和缩写词的原意。表 1-1:专门术语的缩写与定义序号 名词 定义和解释1 GPL GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。)nline 与防火墙的联动过程中,需要一个中介 libNetfilter_queue。在联动过程中,住在 kernel 的 Netfilter 把流经本机的封包堆进 queue 里,接下来下来住在 user mode
12、 里的 snort_inline 会使用 libNetfilter_queue 收取这些封包。通过上可以得到一个入侵防御系统的框架,这是要个 snort_inline 设置相应的规则集,才能够为系统提供更好的保护。在加载规则集的时候,使用工具oinkmaster 可以及时的从 snort 的网站上得到最新的规则集,并对获得规则集进行相应的处理,来满足我们入侵防御系统的需求。在这些工具的帮助下,利用 snort_inline 与防火墙系统的联动机制,首先通过防火墙的防护作用,起到对系统的首层保护,之后入侵防御系统 snort_inline通过对内核区域传来的封包的分析,判断应对该分包采用何种操作
13、方式,给出相应的响应,并通过与防火墙的联动,防火墙作出相应的操作,来实现对系统的防护。1.3 论文结构安排第一章,绪论:介绍选题背景和研究意义,从信息安全的重要性的角度阐述了入侵防御系统出现的必然性和重要性;接下来就本文件将要研究的入侵防御系统的开发工具进行了一定的介绍。第二章,入侵防御系统技术研究:从入侵防御系统的基本思想着手,简述入侵检测系统以及计算机安全理论模型,并讲述入侵防御系统的基本原理;接下来讲述入侵防御系统的发展历程;对当前的三种安全防护系统(防火墙,IPS,IDS)的功能进行描述;从特点等方面评价入侵防御系统;接下来从理论上分析如果我们部署一个入侵防御系统,我们可能采用的部署方
14、式;最后总结说明了一些入侵防御系统在设计过程中会碰到的实现难点。第三章,入侵防御系统架构设计:在这里研究的入侵防御系统是指网络入侵防御系统,所以选择对网络入侵防御系统在架构上进行研究,从整体框架,到采用到的入侵检测的结构及标准化;之后对该系统进行模块层次的上对系统进行结构设计。第四章,入侵防御系统的实现过程:在之前几章的基础知识积累和思想设计的基础上,开始对该系统的实现过程。在此,首先对将要用到的部分工具进平均具有的盈利空间,所以这是一个产业形势的衡量指标,而非企业能力的衡量指标。5、SCP产业分析模型SCP(structure-conduct-performance,结构行为绩效)模型是由美
15、国哈佛大学产业经济学权威贝恩(Bain)、谢勒(Scherer)等人建立的。该模型提供了一个既能深入具体环节,又有系统逻辑体系的产业分析框架,即:行业结构(Structure)企业行为(Conduct)经营绩效(Performance)。SCP框架的基本涵义是,行业结构决定企业在市场中的行为,而企业行为又决定市场运行在各个方面的经济绩效。SCP模型,主要用于分析行业或者企业在受到外部冲击(主要是指行业或企业外部经济环境、政治、技术、文化变迁、消费习惯等因素的变化)时,可能的战略调整及行为变化。行业结构:主要是指外部各种环境的变化对企业所在行业可能产生的影响,包括行业竞争的变化、产品需求的变化、
16、细分市场的变化、营销模型的变化等。企业行为:主要是指企业针对外部的冲击和行业结构的变化,有可能采取的应对措施,包括企业方面对相关业务单元的整合、业务的扩张与收缩、营运方式的转变、管理的变革等一系列变动。经营绩效:主要是指在外部环境发生变化的情况下,企业在经营利润、产品成本、市场份额等方面的变化趋势。 19 / 17 访问网址: /本 科 毕 业 论 文基于敏捷软件开发方法的 Web2.0 网站开发 敏捷过程的实施The Web2.0 website development based on Agile programming Implementation of Agile Developmen
17、t Process姓 名:学 号: 学 院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 年 月摘 要自 20 世纪 60 年代“软件危机”出现以来,人们提出了软件工程的概念,通过工程学的方法组织软件的生产和管理。近年来,人们提出了一系列的软件过程模型,其中具有代表性的是 Rational 公司的 RUP 过程。然而工程化并没有给软件开发带来质的变化。因为软件不是物化的东西,其中包含着人的因素,它有很多变动的东西。为了响应变化,出现了一些敏捷软件开发方法,其中具有代表性的是 XP。传统的软件开发方法是强调过程化的,它们是有序的,有规则的,可管理的,但是不够灵活的,而敏捷软件开发方法
18、注重人的因素,这种开发方法是灵活的,适应性强的,但是也是无序的,不易管理的。所以,在软件开发过程中可以结合工程化和人性化的软件开发方法,使人们可以有效的开发更高质量的软件。本文首先分析了敏捷软件开发思想及其代表性的开发方法极限编程,随后介绍了统一过程,接着对两者进行了比较,基于比较的结果,提出了将两者融合在一起,以适合开发小型项目实际情况的思想。本文探讨了如何在小型项目中应用 XP 和 RUP 结合的开发过程,提出了采用用例、测试双驱动的开发方案。通过结合使用 XP 和 RUP,开发团队可以得到一个过程帮助它们快速的完成高质量软件的开发。采用 XP 和 RUP 结合起来的开发过程,我们成功的完
19、成了一个网站。经过实践,应用该过程节省了开发时间,提高了开发效率。关键词: 敏捷开发;极限编程;统一过程ABSTRACTSince “software crisis” appeared in 1960s, people put forward the concept of the software engineering; this concept advocated that organizing the production and management of software by engineering. In recent years, people brought forward
20、a series of software development process models, among them RUP by Rational corporation is famous and representative. But the engineering didnt bring basically of variety for software development. Because software is not physical and chemical things, including the human factor and it has a lot of ch
21、anges. In response to changes a number of agile software development methods come out, which XP is famous and representative.Traditional software development methods put emphasis on process-oriented, they are ordered, ordinate and can manage, but also is not flexibility enough. And agile software de
22、velopment methods focus on the human factor, which is vivid, the adaptability is strong, but also is to have no preface of, not easy management of. So, in the process of software development can be combined with engineering and humanized software development methods so that people can effectively de
23、velop higher quality software.This paper first analyzes the agile software development and its a representative agile model XP, and then introduces the Unified Process. Then this paper compares XP and RUP, and points out that people can combine XP and RUP to develop the small projects. This paper also discuss how to develop small projects with the combination of XP and RUP. By combining of