软件工程第14章_第1页
软件工程第14章_第2页
软件工程第14章_第3页
软件工程第14章_第4页
软件工程第14章_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程,第14章Web工程,Web工程,YogeshDeshpande和SteveHansen在1998年就提出了Web工程的概念。Web工程提倡使用合理的、科学的工程和管理原则,用严密的、系统的方法来开发、发布和维护Web系统。,内容摘要,WebApp的属性和类型Web工程过程WebApp建模WebApp质量管理,内容摘要,WebApp的属性和类型Web工程过程WebApp建模WebApp质量管理,WebApp的属性和类型,Web工程不是软件工程的完全克隆,但是它借用了软件工程的许多基本概念和原理,强调了相同的技术和管理活动WebApp:基于Web的应用WebApp不同于其他类别的计算机软件:WebApp是“页面排版和软件开发、市场和预算、内部交流和外部联系以及艺术和技术间”综合作用的产物,WebApp的属性和类型,绝大多数WebApp中都要考虑下列属性网络密集性(networkintensiveness)并发性(concurrency)不可预测的负载(unpredictableload)性能(performance)可用性(availability)数据驱动(datadriven),WebApp的属性和类型,内容敏感(contentsensitive)持续演化(continuousevolution)即时性(immediacy)安全保密性(security)美观性(aesthetics),WebApp的属性和类型,在Web工程中,下面的应用类别是最常遇到的信息型:使用简单的导航和链接提供只读的内容。下载型:用户从合适的服务器下载信息。可定制型:用户定制内容以满足特定需要。交互型:一个用户群落通过聊天室、公告牌或即时消息传递来通信。,WebApp的属性和类型,用户输入型:基于表格的输入是满足通信需要的主要机制。面向事务型:用户提交一个由WebApp完成的请求(如下订单)。面向服务型:应用向用户提供服务(如帮助用户确定抵押支付)。门户型:应用引导用户到在本门户应用范围之外的其他内容或服务。数据库访问型:用户查询某大型数据库并提取信息。数据仓库型:用户查询一组大型数据库并提取信息。,内容摘要,WebApp的属性和类型Web工程过程WebApp建模WebApp质量管理,Web工程过程,WebApp的开发具有如下特点:WebApp常常以增量的方式去开发变化经常发生期限较短因此整个Web工程过程也与这些特点相适应。,Web工程过程过程框架,整个Web工程过程框架包括:客户交流计划建模构建部署,Web工程过程过程框架,客户交流在Web工程过程中,客户为WebApp定义业务/组织背景,预测业务环境或业务需求中的潜在变化,定义WebApp和其他业务应用程序、数据库及功能的整合。在客户交流活动中,要尽量去找出那些不确定的区域和将会出现潜在变化的区域,并将收集到的需求信息进行系统而确切的描述。,Web工程过程过程框架,计划作出WebApp增量式项目计划。这个计划由一个任务定义和一个时间表组成建模传统的软件工程分析和设计任务也可以融入到WebApp的建模活动中去。其目的是开发出用于定义需求的“快速”分析和设计模型,同时提出一个能满足需求的WebApp模型。,Web工程过程过程框架,构建使用Web工具和技术去构建已被建模的WebApp。一旦构建了WebApp,就会使用一系列快速测试去暴露出设计中的错误部署把WebApp配置成适合于它所运行的环境,并把它发送给终端用户。而后进入评估阶段。最后把评估反馈给Web工程团队。,Web工程过程改善框架,改善框架Web工程过程模型必须具有一定的适应性。和Web工程框架活动相关联的一些任务可以根据实际情况进行修改和删除,或者基于问题、产品、工程及Web工程团队人员的特征进行扩展。不管怎样,在每种情况中,团队有责任在已分配好的时间内完成高质量的WebApp的增量。.,Web工程的最佳实践,在做一些企业级的WebApp时,应该使用下面一组基本的最佳实践对WebApp进行分析时,要花一些时间去理解业务需求和产品目标。用基于用况的方法去描述用户如何与WebApp交互,Web工程的最佳实践,做一个项目计划,即便很简短,这个计划也要基于所有参与者都可接受的预先定义的过程框架上。花些时间去建模要做的东西考察模型的一致性和质量使用一些能使你去构建带有尽可能多可重用组建的系统的工具和技术设计一些综合性的测试,并在系统发布前执行它们,方法和工具,Web工程方法包括一系列技术性任务,这些任务使Web工程师能够理解和把握WebApp的特点,从而开发出高质量的WebApp。Web工程方法一般包括如下几种:沟通方法:定义沟通方法以方便Web工程师和其他WebApp利益相关方(如终端用户、业务客户、问题域专家、内容设计者、团队领导、项目经理)沟通。,方法和工具,需求分析方法:需求分析方法为理解下面的问题提供了基础:WebApp要发布的内容,为最终用户提供的功能,以及当使用WebApp导航时各类用户所需的交互模式。设计方法:设计方法包括一系列的技术来描述WebApp内容、应用和信息体系结构、界面设计及导航结构。测试方法:测试方法包括对内容和设计模式的正式评审以及一系列针对构件级和体系结构问题的测试技术,包括导航测试、可用性测试、安全保密性测试和配置测试。,方法和工具,许多工具和技术已经取得了改进。内容描述和模型化语言(如,HTML、VRML、XML)程序设计语言(如,JAVA)基于构件的开发资源(如,CORBA、COM、ActiveX、.NET)浏览器多媒体工具站点授权工具数据库连接工具安全工具服务器和服务器利用、及站点管理和分析工具。,内容摘要,WebApp的属性和类型Web工程过程WebApp建模WebApp质量管理,WebApp建模,模型是对现实的简化,从抽象层次上说明被建模的系统,从而帮助人们对系统进行构造。在软件工程中,需要创建需求模型和设计模型这两类模型,虽然普通软件的建模原则也适用于Web工程,但是Web工程的建模具有一定的独特性。,WebApp需求建模,WebApp需求的收集目标:通过一定的沟通活动收集到该应用的利益相关方、用户类别、业务环境、使用场景、可用的素材等信息,而这些信息以自然语言、草图等形式存在,例如电子邮件、会议记录等。,WebApp需求建模,WebApp需求的收集方法:对用户进行分类。根据用户使用WebApp的总体目标、背景和途径不同进行分类开发者与用户等业务相关人员间需要进行需求沟通对收集到的需求信息进行分析,获得有用信息,WebApp需求建模,WebApp需求模型的形成:通过分析收集到的需求信息,可以得到关于WebApp的内容、交互模式、功能、所处环境等多种特性的描述,为了能够以结构化的方式分析WebApp的需求,可以将每种特性表示成一套模型。WebApp需求模型最主要的类型有:内容模型、交互模型、功能模型、导航模型以及配置模型。,WebApp需求建模,内容模型:对Web工程的内容进行分析,“内容”包括工程中所有可见可听到的要素,通常包括文字、图形、图像、音频和视频。交互模型:描述了用户和WebApp之间的交互所采用的方式。构建交互模型时会用到用况图、顺序图、状态机图、用户界面原型等。功能模型:定义了用于WebApp的操作和处理。导航模型:导航模型定义了WebApp的导航策略,导航建模考虑用户如何从一个元素链接到另一个元素。配置模型:描述了WebApp所涉及的环境和基础设施。,WebApp设计建模,WebApp的设计目标:产生高质量的WebApp,能够得到最终用户的好评的同时也应便于Web工程师对其进行各种维护和支持。具体应该以下列属性为目标:简单性一致性相符性导航性视觉吸引兼容性,界面设计,界面设计:所有的用户界面需要易使用、易操作、直观、一致。除此之外,界面还要有助于用户浏览,界面需要显示用户当前所在的网站的路径。WebApp界面设计要考虑以下3个问题:浏览者目前的位置。浏览者目前可以进行的操作。浏览者可以导向的目标。,界面设计,著名搜索引擎公司Google的主页:,这个界面相当简洁,而且也回答了WebApp界面设计的3个问题,页面指示现在正在Google的web搜索页面中,用户可以在输入框中输入自己想要检索的内容并进行搜索,也可以从Image、Groups等链接上导航到Google的其他功能。,界面设计,除了常规软件的界面设计原则外,考虑到Web工程的一些特性,WebApp的界面设计具有如下自己的设计原则。页面速度页面正确所有的菜单和界面的风格应该统一链接指示应明显界面功能明显清晰使用表格等工具,结构设计,结构设计:结构主要可分为线性结构网格结构层次结构,层次结构,结构设计,不同的结构比较,导航设计,导航设计,主要可以分为两部分可以对不同的用户权限给出不同的导航路径给同一类用户一个共同的导航语义在导航设计时,需要为同一类用户建立一个语义导航单元,这样方便后继的管理。在导航设计时,需要考虑建立合适的导航约定和帮助。,构件级设计,Web应用程序逐渐形成变得模板化,功能化。这种处理功能主要包括数据库查询以及其它操作与外部企业系统的数据接口用户的注册和认证Web工程师必须设计和构建一些程序构件,它们和普通软件在形式上是一致的。利用构件技术,可以很方便地组建各种不同的Web应用程序。,内容摘要,WebApp的属性和类型Web工程过程WebApp建模WebApp质量管理,WebApp质量维度,通常采用下面的一些原则来测试和评价WebApp的质量内容可以从句法和语义两个层次来评价功能测试可以发现不符合用户需求的错误结构评估是为了确保它恰当地展现了WebApp的内容和功能,确保它是可扩展的,确保能支持新的内容或功能易用性测试是为了确保每个不同的用户群能被WebApp界面支持,能学会并运用所有需要的导航用法和意义,WebApp质量维度,导航测试是为了确保所有的导航用法和意义都被实现以便发现导航错误性能测试必须在各种各样的操作条件、配置和负载下进行,确保系统能响应用户的交互操作,能在可接受的性能下降的条件下处理极端的负载量兼容性测试就是在客户机和服务器上设定不同的配置条件下执行WebApp协同工作测试是为了确保WebApp能很好地与其他的应用程序和数据库交互,WebApp质量维度,安全性测试就是评估潜在的易攻击性,任何一个成功的入侵都认为是安全方面的失败,在WebApp环境下出现的错误,WebApp测试中的独特的错误特征WebApp测试发现的错误一开始都是显现在客户端(如,某个浏览器或PDA或手机),所以web工程师看到的只是问题的表象,而不是其实质一个WebApp运行在许多不同的配置条件及各种各样的环境下,所以脱离某个错误最初产生时的环境,重现这个错误是很困难甚至是不可能的,在WebApp环境下出现的错误,虽然一些错误是由于错误的设计和不恰当HTML(或其他的程序语言)编码所导致,但许多错误都与WebApp的配置有关因为WebApp是一个客户机/服务器的结构,所以很难横跨客户端、服务器和网络这三层来分析错误产生的原因。一些错误是因固有的操作环境所致(如,正在进行测试的某个特殊的配置),另一些可归咎于多变的操作环境(如,瞬间的资源装载或者与时间相关的错误),测试策略,广泛采用的WebApp测试策略重新审查WebApp内容模型,发现可能的错误。重新审查接口模型,确保能适应所有的使用条件。重新审查设计模型,发现可能的链接错误。测试用户界面,发现在显示和导航机制方面可能的错误。对选出的功能构件做单元测试。,测试策略,WebApp导航需要测试。WebApp在不同的环境配置下运行,因此需要对每个配置进行兼容性测试。安全性测试是为了发现在WebApp或它的应用环境中会遭人攻击的漏洞。性能需要测试。WebApp测试需要一群故意安排的终端用户的参与;他们使用系统的结果可以用来分析内容和导航方面的错误、易用性和兼容性、可靠性和性能。,配置管理,WebApp与传统软件相比具有即时性和持续演化的特点,适合采用迭代、增量过程模型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论