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