清华软件工程幻灯片第12章-web工程

上传人:F****n 文档编号:88501102 上传时间:2019-04-29 格式:PPT 页数:46 大小:167KB
返回 下载 相关 举报
清华软件工程幻灯片第12章-web工程_第1页
第1页 / 共46页
清华软件工程幻灯片第12章-web工程_第2页
第2页 / 共46页
清华软件工程幻灯片第12章-web工程_第3页
第3页 / 共46页
清华软件工程幻灯片第12章-web工程_第4页
第4页 / 共46页
清华软件工程幻灯片第12章-web工程_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《清华软件工程幻灯片第12章-web工程》由会员分享,可在线阅读,更多相关《清华软件工程幻灯片第12章-web工程(46页珍藏版)》请在金锄头文库上搜索。

1、软件工程,第12章 Web工程,2019/4/29,软件工程,2,Web工程,Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它“使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统“。,2019/4/29,软件工程,3,内容摘要,基于Web系统和应用的属性 Web工程过程 Web分析 Web设计 Web测试,2019/4/29,软件工程,4,内容摘要,基于Web系统和应用的属性 Web工程过程 Web分析 Web设计 W

2、eb测试,2019/4/29,软件工程,5,基于Web系统和应用的属性,Web工程不是软件工程的完全克隆,但是它借用了软件工程的许多基本概念和原理,强调了相同的技术和管理活动 WebApp :Web的系统和应用 Web的系统和应用不同于其他类别的计算机软件 :基于web的系统是“页面排版和软件开发、市场和预算、内部交流和外部联系以及艺术和技术间”综合作用的产物,2019/4/29,软件工程,6,基于Web系统和应用的属性,绝大多数WebApp中都要考虑下列属性 网络集约 (network intensive) 并发(Concurrency) 不可预测的登陆(Unpredictable load

3、) 性能(Performance) 可用性(Availability) 数据驱动 (Data driven) 内容敏感(content sensitive) 持续演化(continuous evolution),2019/4/29,软件工程,7,基于Web系统和应用的属性,WebApp的以下特征驱动了持续演化的过程 即时性 开发者必须想一些办法来做计划、分析、设计、编码、测试,以适应WebApp开发时间紧的要求 安全性 在整个支持某WebApp的基础设施和应用本身内部必须实现强的安全措施 美学 一个WebApp的吸引力的一个不可否认的部分是其观感,2019/4/29,软件工程,8,基于Web系

4、统和应用的属性,在Web工程中,下面的应用类别是最常遇到的 信息型:使用简单的导航和链接提供只读的内容。 下载型:用户从合适的服务器下载信息。 可定制型:用户定制内容以满足特定需要。 交互型:一个用户群落通过聊天室、公告牌或即时消息传递来通信。,2019/4/29,软件工程,9,基于Web系统和应用的属性,用户输入型:基于表格的输入是满足通信需要的主要机制。 面向事务型:用户提交一个由WebApp完成的请求(如下订单)。 面向服务型:应用向用户提供服务(如帮助用户确定抵押支付)。 门户型:应用引导用户到在本门户应用范围之外的其他内容或服务。 数据库访问型:用户查询某大型数据库并提取信息。 数据

5、仓库型:用户查询一组大型数据库并提取信息。,2019/4/29,软件工程,10,内容摘要,基于Web系统和应用的属性 Web工程过程 Web分析 Web设计 Web测试,2019/4/29,软件工程,11,Web 工程过程,WebApp的开发具有如下特点: WebApp常常以增量的方式去开发 变化经常发生 期限较短 因此整个Web工程过程也与这些特点相适应。,2019/4/29,软件工程,12,Web 工程过程过程框架,整个Web工程过程框架包括: 客户交流 计划 建模 构建 部署,2019/4/29,软件工程,13,Web 工程过程过程框架,客户交流 在Web工程过程中,客户交流以两个主要的

6、任务为主要特点;商业分析和规划。商业分析为WebApp定义了商业/组织背景,预测商业环境或需求中的潜在变化,定义WebApp和其他商业应用程序、数据库及功能的整合。规划是一个收集包括所有参与者信息的需求。另外,尽量去找出那些不确定的区域及哪里将会出现一些潜在的变化,2019/4/29,软件工程,14,Web 工程过程过程框架,计划 作出WebApp增量式项目计划。这个计划由一个任务定义和一个时间表组成(常常数周之内)。在这一时期内,要做出WebApp的开发计划 建模 常见的软件工程和设计的任务要和WebApp开发相适应、相融合、然后并入WebApp建模活动中去,2019/4/29,软件工程,1

7、5,Web 工程过程过程框架,构建 使用Web工具和技术去构建已被建模的WebApp。一旦构建了WebApp,就会使用一系列快速测试去暴露出设计中的错误 部署 把WebApp配置成适合于它所运行的环境,并把它发送给终端用户。而后就开始进入评估阶段了。最后把评估反馈给Web工程团队,2019/4/29,软件工程,16,Web 工程过程改善框架,改善框架 Web工程过程模型必须具有一定的适应性。一些情况下,一个框架活动会非正式地实施。其他的时候,一系列不同的任务将会被定义并被团队成员去执行。每种情况中,团队有责任在分配好的时间内完成高质量的WebApp增量。需要着重指出的是和Web工程框架活动相关

8、联的一些任务可以被修改、消除、或基于问题、产品、工程及Web工程团队人员的特征进行扩展。,2019/4/29,软件工程,17,Web工程中有用的规则,如果去做一些企业级的WebApp,下面的一些基本的规则应比较适用 即使WebApp的细节是模糊的,也要花一些时间去理解商业需求和产品目标 用基于用况的方法去描述用户如何与WebApp交互 项目计划和跟踪 去指导分析和设计模型 作为测试设计的重要基础,2019/4/29,软件工程,18,Web工程中有用的规则,做一个项目计划,即便很简短 花些时间去建模要做的东西 考察模型的一致性和质量 使用一些能使你去构建带有尽可能多可重用组建的系统的工具和技术

9、设计一些综合性的测试,并在系统发布前执行它们,2019/4/29,软件工程,19,方法和工具,Web工程方法包括一系列能适用Web工程师理解、特征化、而后做出一个高质量WebApp的技术性任务。Web工程方法一般包括如下几种 交流方法:定义了能便于Web工程师和所有WebApp投资者(如:终端用户、商业客户、问题域专家、内容设计者、团队领导、项目经理)交流的方法,2019/4/29,软件工程,20,方法和工具,需求分析方法:提供了理解被WebApp所传送内容的基础。了解提供给终端用户的功能,以及各类用户通过WebApp进行相互作用的模式。 设计方法:包括一系列表现WebApp内容、应用和信息结

10、构、界面设计及浏览结构的设计技术。 测试方法:包括正式的对内容和设计的模式、及一系列包括构件级和结构问题、浏览测试、可用性测试、安全性测试和配置测试的技术评审,2019/4/29,软件工程,21,内容摘要,基于Web系统和应用的属性 Web工程过程 Web分析 Web设计 Web测试,2019/4/29,软件工程,22,Web的分析类别,Web工程的分析特点 内容分析 交互分析 功能分析 配置分析 导航关系分析,2019/4/29,软件工程,23,Web的分析类别,内容分析:因为Web工程以内容为基础,所以需要对Web工程的内容进行分析,其中的内容包括工程中所有可见可听到的要素,通常包括文字、

11、图形、图像、音频和视频 交互分析:主要解决用户和系统之间的交互问题,分析时会用到下面四种单元:用况图、顺序图、状态图、用户界面原型,2019/4/29,软件工程,24,Web的分析类别,功能分析:与交互分析类似,交互分析主要涉及Web工程操作。用户可见的功能包括任何可以直接由用户操作的功能 配置分析:主要对工程所涉及的环境和基础设施进行详细的描述,其中基础设施主要包括构件基础设施和数据库将被用于生成内容的程度 导航关系分析:主要分析各个页面之间的关系。可以通过对用户的分析和对页面单元的分析来进行,2019/4/29,软件工程,25,分析元素,从分析元素来分,可以将Web工程分为CRC卡片,用况

12、图,及其它UML图 CRC (class responsibility-collaborator,类-责任-协作者)卡片:提供了一种简单的标识和组织与系统或产品需求相关的类的手段 用况图:一个描述软件如何被用于给定情形的场景 其它UML图:UM是用于对象建模和对象分析时使用的一种工具,2019/4/29,软件工程,26,内容摘要,基于Web系统和应用的属性 Web工程过程 Web分析 Web设计 Web测试,2019/4/29,软件工程,27,Web设计,Web设计主要可分为 体系结构设计 导航设计 界面设计 一个良好的Web设计需要满足以下要求 设计要尽可能的简单 布局要尽可能的美观 整体的

13、一致性,2019/4/29,软件工程,28,体系结构设计,体系结构主要 线性结构 网格结构 层次结构,2019/4/29,软件工程,29,体系结构设计,不同的体系结构比较,2019/4/29,软件工程,30,导航设计,导航设计,主要可以分为两部分 可以对不同的用户权限给出不同的导航路径 给同一类用户一个共同的导航语义 在导航设计时,需要为同一类用户建立一个语义导航单元,这样方便后继的管理。 在导航设计时,需要考虑建立合适的导航约定和帮助。,2019/4/29,软件工程,31,界面设计,Web工程中界面在用户心目中具有非常重要的地位。界面可以说是Web工程给人的第一印象,只有让用户对第一印象产生

14、好感觉时,用户才有可能使用WEB工程的其它功能导航和内容。 所有的用户界面需要易使用,易操作,直观,一致。除此之外,界面还要求有助于用户浏览,界面需要显示用户当前所在的网站或工程的路径。,2019/4/29,软件工程,32,界面设计,Web界面设计要考虑的三个问题: 浏览者目前的位置 浏览者目前可以进行的操作 浏览者可以导向的目标,2019/4/29,软件工程,33,界面设计,Google简洁的界面,2019/4/29,软件工程,34,界面设计,WEB工程自己的设计原则 页面速度 页面正确 所有的菜单和界面的风格应该统一 链接指示应明显 界面功能明显清晰 通常都需要使用表格等工具,2019/4

15、/29,软件工程,35,构件级设计,Web应用程序逐渐形成变得模板化,功能化。这种处理功能主要包括 数据库查询以及其它操作 与外部企业系统的数据接口 用户的注册和认证 Web工程师必须设计和构建一些程序构件,它们和普通软件在形式上是一致的。利用构件技术,可以很方便地组建各种不同的Web应用程序。,2019/4/29,软件工程,36,构件级设计,理想的构件模型,2019/4/29,软件工程,37,内容摘要,基于Web系统和应用的属性 Web工程过程 Web分析 Web设计 Web测试,2019/4/29,软件工程,38,质量评判标准,通常采用下面的一些原则来测试和评价WebApp的质量 内容可以

16、从句法和语义两个层次来评价 功能测试可以发现不符合用户需求的错误 结构评估是为了确保它恰当地展现了WebApp的内容和功能,确保它是可扩展的,确保能支持新的内容或功能 易用性测试是为了确保每个不同的用户群能被WebApp界面支持,能学会并运用所有需要的导航用法和意义,2019/4/29,软件工程,39,质量评判标准,导航测试是为了确保所有的导航用法和意义都被实现以便发现导航错误 性能测试必须在各种各样的操作条件、配置和负载下进行,确保系统能响应用户的交互操作,能在可接受的性能下降的条件下处理极端的负载量 兼容性测试就是在客户机和服务器上设定不同的配置条件下执行WebApp 协同工作测试是为了确保WebApp能很好地与其他的应用程序和数据库交互,2019/4/29,软件工程,40,质量评判标准,安全性测试就是评估潜在的易攻击性,任何一个成功的入侵都认为是安全方面的失败,2019/4/29,软件工程,41,在WebApp环境下出现的错误,WebApp测试中的独特的错误特征 WebApp测试发现的错误一开始都是显现在客户端(如,某个浏览器或PDA或手机),所以web工程师看

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号