英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
Web应用程序开发策略
Ravi Sharma IT Department Amity University Greater Noida, India 1988@gmail.com
Shipra Ravi Kumar CSE Department Amity University Greater Noida, India Shipra.chaudhary85@gmail.com
Keshav Gupta School of computing science and engineering Galgotias University, Greater Noida, India keshavgupta101@gmail.com
摘要:近年来,Web应用程序的发展非常出人意料,但是由于web应用和软件应用之间的不同,他们的发展方式在很多方面都有差异。这两种不同类型的应用程序之间的区别在于是否引入专门应用于Web应用程序的开发方法。这些论文所做出的贡献是提出了专门针对Web应用程序的各种开发方法和原则。Agile、面向对象、基于UML等是一些用于创建Web应用程序的开发方法示例。附录对基于Agile和基于UML的Web应用开发的论文有所帮助。
关键词:XP(极限编程),WCML(Web标记语言),CORBA(公共对象请求代理体系结构),AWDWF(带有Web框架的敏捷Web开发)
1 引言
这样一种运行在单台机器上,只让其用户受益,并且在网络上向用户提供服务本身的程序被称为Web应用程序,还包括构成软件的应用程序和在网络上运行的应用程序。在过去的十年中,Web应用程序的流行度呈指数级增长,并且网络应用程序的用户数量每天都在迅速增长。软件应用程序是使计算机执行有益任务的所有计算机软件,这些任务使除计算机本身运行以外的用户受益,从而使其不同于具有管理计算机能力但不执行用户任务的系统软件。因此,软件应用程序利用从某些特定计算平台获取的好处并为某些特定目的而工作。某些应用程序有几个版本,以便在不同的计算平台上运行。有时候,一种为了在单一平台上工作而创建的新应用程序会变的很受欢迎,以至于增加了该特定计算平台的可取性。 这种应用程序被称为杀手级应用程序。Web应用程序使用Web浏览器作为客户端,从服务器请求/发布一些数据,这些数据可能是集中式或分布式的,以便提高服务器响应时间。客户端是安装在用户侧的计算机软件应用程序,其运行在由浏览器所支持的语言(例如与HTML结合的JavaScript)开发的Web应用程序。
2 相关工作
自从1993年将网络引入公开为Web 1.0以来,网络开发技术一直在发展并且呈指数级增长。本文的工作基于不同的方法解释了10种网页开发方法。 本系列第一个部分是由Eun Sook Cho等人在1997年IEEE上提出的CORBA(通用对象请求代理体系结构)的Web应用程序开发。 这是一个面向对象的Web应用程序开发方法,它在万维网上带来惊人的快速扩展,该系列的第二部分又是由Martin Gaedke等人于1999年在被称为Web Composition的IEEE Internet Computing中提出的开发Web应用程序的面向对象技术。Web组合技术使用两个模块:组件模型和标记语言。该技术的主要概念是在任意抽象级别对Web实体(如网页或某些特定的Web链接)进行建模,并以基于XML的WCML(Web组合标记语言)表示规范。极限编程(XP)是基于Agile开发原则开发Web应用程序的下一个方法。弗兰克Maurer等人在2002年的IEEE Computing上发表了一篇名为“极限编程:基于Web的应用程序的快速开发”的论文,阐述了开发Web应用程序时要遵循的12个agile实践。Web应用程序开发方法的列表继续使用基于UML的方法,这个方法由Wookjin Lee等人在2005年第十二届亚太软件工程会议论文集(APSCE#39;05)上发表的“支持流程执行的Web应用程序开发和扩展的UML模型”文章中提出的。该开发方法是一种基于由导航模型和组件通信模型组成的敏捷开发方法,并且分别是从状态机包和UML的交互包 2.0扩展出来的。本文中描述的下一个开发方法是Hu Ran等人提出的带有Web框架的Agile Web开发。AWDWF强调人与人之间的沟通,例如开发团队成员之间以及客户与开发团队之间的沟通。为了应对快速变化的客户需求,原型经常被发布,这有助于客户快速及时地提供反馈。AWDWF背后的主要思想是让开发团队专注于核心业务逻辑,从而避免程序重复和资源浪费,连续提高系统的效率和稳定性,并保持Web应用程序的质量。
3 开发方法
应用程序开发方法被推广为改进应用程序开发过程中管理和控制的方法,还可以构建和简化过程,并通过指定要完成的活动和要使用的技术来标准化开发过程和产品。使用应用程序开发方法有助于以下列方式开发应用程序:
- 确定为什么、要做什么 - 确定方法是任何开发技术的第一步,以便使倡导者对正在计划开发的系统进行可行性研究。对可行的研究报告进行分析可能会使正在开发的系统的目标取得更好的效果。
- 完整和清晰的要求 - 在所选择的开发方法规定的各种开发技术中已经描述了许多用于需求收集和分析的技术,使用这些技术有助于清楚地了解开发应用程序所需做什么和需要什么。如果开始编写应用程序时没有明确的目标,应用程序的开发可能会导致不需要的和不可靠的产品,从而导致组织的失败。
- 对如何操作给予适当指导 - 现在我们已经为开始开发应用程序设置了众所周知的记录要求。 但接下来的事情是如何以适当的步骤和方式使发展正式化,以便将最小风险与最佳利益联系起来。根据我们想要开发的方法以及它的运行环境,这种理论会提供了一种方法。
- 优化组队和工作分配 - 随机分配工作给随机人员不能根据他们的能力实现最佳的利用。为了获得高效和快速的产品输出,必须最大限度地利用人力。
- 风险最小,获得最佳效益 - 方法论不仅为项目的高效开发提供了方式,而且还在开发之后指导了部署
图1:Web应用程序开发方法和方法
4 Agile web开发方法
Agile软件开发不是种单一的方法,而是一个框架,它包含一系列基于一些核心原则的流程,也称为敏捷宣言,由知名开发人员在2001年起草并定义了敏捷开发。敏捷方法包含小型团队的形成,使面对面沟通成为可能,共同合作定义快速原型以直观展示问题。如下图所示,每次迭代都有其要求,随后进行开发,定义和运行集成测试脚本,最终得到用户验证的结果。在开发过程中验证发生得比瀑布早得多,因此利益相关方可以对要求进行微调,但它们仍然相对容易更改。
A.极限编程
极限编程(XP)是开发Web应用程序最流行的敏捷方法之一。 下图显示了使用XP实践整合需求分析和设计阶段的中小企业(中小企业)Web应用程序开发的所有过程。
图2:开发面向中小企业的Web应用
程序使用XP实践整合需求分析和设计阶段
极限编程(XP)方法侧重于建立5至15名成员的小团队,并遵循12项相关做法。 此外,XP专注于提供可执行代码和自动化测试驱动程序,而不是花费在纸质需求和设计文档部分上。建立小型团队可以促进发展并且有助于避免文件部分,因为可以有效地进行面对面沟通。但是,随着开发组织增加交流产品知识和培训新人的时间增加,使得XP不再合适。XP提出了一套软件开发实践来提高生产力,同时保持质量。
bull;使用XP实践开发网站红点
红色水滴是一个社会网站,激励人们向需要捐献的人献血。本网站提供在所需地点献血的人的信息。此外,愿意捐献血液的人可以在网站上注册并在服务器上更新他们的联系信息,这样有需要的人就可以联系他们并获得血液。对于需求启发,使用了用例图。首先,主页设计用绘制用例图来替代是为了获取主要需求集。下图显示主页的用例图。
图3:用例图(主页)
在这里,我们从匿名访客,注册用户和管理员的角度介绍红色水滴网站的所有网页的用户界面视图。
匿名访客(主页)
图4:RED BLOOD网站主页的屏幕截图
管理员(管理员面板)
图5:管理面板的屏幕截图
B.使用Web框架的敏捷Web开发(AWDWF)
AWDWF利用Web框架的Agile开发的优势。它是Web应用系统的一种优秀的Web开发技术,能够满足快速服务,快速响应和快速变化的需求。 AWDWF强调人与人之间的沟通,例如开发团队成员之间以及客户与开发团队之间的沟通。项目的成功取决于定期和持续的客户反馈。为了应对快速变化的客户需求,原型经常被发布,这有助于客户快速及时地提供反馈。这个接收反馈、测试产品和评估的过程贯穿整个生命周期。 AWDWF背后的主要思想是让开发团队专注于核心业务逻辑,从而避免程序重复和浪费资源,提高系统的效率和稳定性,并保持Web应用程序的质量。 AWDWF基于Web框架,因此,大部分Web应用程序系统都是基于MVC多层次结构进行开发的。
C.基于Lift框架的Agile Web应用开发
Lift是基于Scala编程语言的Web应用程序开发框架,结合了流行框架(如rails和django)的优点。
图6:LIFT应用程序框架的位置
第一层代表感兴趣的敏捷应用程序框架,胡冬和余雪在2010年IEEE上发表的研究论文“基于Lift的敏捷框架的设计和植入”中描述了该框架。
bull;设计AGILE应用程序框架
下图显示了一个管道过滤器体系结构,描述了敏捷框架的主要组件和工作过程。 XML文件被输入到解析文件并生成相应组件的分析引擎。 这些组件与数据库一起为提升框架提供输入,然后输出信息通用部分。
图7:管道过滤器架构
bull;框架的实施
- 分析引擎子系统 - XML分析引擎基于javax.xml,它是一个标准的java库,其主要功能是将XML信息转换为文档对象模型(DOM)树结构,然后使用Xpath机制对其进行分析。
- 菜单生成子系统 - 页面信息被转换为系统的主菜单。 此外,菜单生成子系统定义菜单结构、页面视图样式和访问控制策略。
- 模板生成子系统 - 这是负责生成不同组件(如添加,删除,更新,查询等)的框架的核心功能之一。图19显示了模板生成过程。
5 面向对象的Web应用程序开发方法
- 基于CORBA的Web应用程序开发
公共对象请求代理体系结构(CORBA)是由OMG为面向对象的分布式计算环境提出的体系结构。 CORBA提供的服务套件包括命名,事件,交易,安全性,外部化,授权,并发性,事务处理,持久性,时间等等。 它允许服务器和客户端使用不同的实现语言。 在CORBA中,使用维护两个数据库的对象请求代理(ORB)来访问对象:接口存储库和实现存储库。 该模型对于建立对等分布式系统非常有效。 CORBA架构通过负载平衡提供快速的Web应用程序。 客户端可以在没有物理位置的情况下访问所有对象,因为CORBA支持进程和数据分发。 以下几点简要介绍了CORBA
- 对象分区 - 可能有三种类型的对象分区 - 客户端对象,服务器对象和客户端/服务器对象。 这里的主要优点是几乎所有对象都可以扮演客户端和服务器的角色,因为每个对象都可以访问其他对象的方法而无需物理位置。
- 流程/数据分发 - 这意味着客户端的本地机器应该处理数据,从而减少网络流量并提高响应时间。
- 多种服务 - CORBA提供了前面提到的各种服务,支持分布式对象的集成和互操作。 例如,对象生命周期服务定义了如何创建,删除,移动和复制CORBA对象。
- 同步 - 为了有效的客户/服务器系统,阻塞和非阻塞,考虑两种模型。 在非阻塞模型中,客户端可以在发出请求后处理其他任务
- Web构成(面向对象的Web应用程序开发)
该方法基于Web组件模型,该模型从低级Web实现技术中抽象出来,以支持Web应用程序的无缝可逆开发。 图表显示了Web构成的主要思想,它主要由两部分组成 - 组件模型和标记语言。 资源生成器将组件模型映射到标准Web实现。 整个过程是从开发人员对由组件模型维护的应用程序的角度来推导Web视图。 Web构成标记语言Languauge基于XML语言,它是一种Meta语言,便于用户定义基于标签的文本格式。 图21显示了WCML文档的结构示例。 WCML的XML文档类型定义描述了WebComposition概念的标记符号,即组件描述,属性和关系。
图8:描述WCML文档结构的代码
6 基于UML的WEB应用开发方法
- 支持流程执行的Web应用程序开发和扩展的UML模型
虽然UML是用于建模软件项目的常用建模语言之一,但是当涉及到Web应用程序开发时,这是不够的。 这种技术分别使用UML的两个特征,即概念模型和体系结构,分别使用类图和组件图绘制而不带扩展。
图9:方法论概述
图中所示的第一个工作产品是故事板,它表示在当前活动周期中开发的Web应用程序的一部分以及与用户的交互。 故事登机由定义Web应用程序目标的软件分析人员执行。
通过使用故事板提供的信息,生成架构和用户界面原型。 UML组件图用于设计体系结构。 为了确认UI设计,客户将其报告形式化为属性明智的,如布局,图像等。组件开发人员实现组件,这些组件构成当前开发的Web应用程序的业务逻辑层。 最后,由组件开发者创建的组件,由客户端和数据库系统确认的UI原型被组合成一个Web应用子系统。 每个开发周期都会生成一个子系统,并且在执行测试活动后将其集成,以提供最终的Web应用
7 结论
敏捷开发方法强调
全文共7367字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[14129],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。