您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 复旦大学计算机科学与工程系
第11章Web工程下页末页上页首页目录第11章Web工程2/38第11章Web工程11.1基于Web系统和应用的属性11.2Web工程过程11.3Web分析11.4Web设计11.5Web测试下页末页上页首页目录第11章Web工程3/38教学目的与要求⒈掌握Web工程的概念及基于Web系统和应用的有关属性;⒉掌握Web工程的过程框架;⒊了解Web分析、Web设计、Web测试的实现。教学重点⒈Web工程的概念;⒉基于Web系统和应用的有关属性;⒊Web工程的过程框架。教学学时2学时下页末页上页首页目录第11章Web工程4/38教学方法采用多媒体课件+讲授法+启发式相结合教学教学参考文献⒈《软件工程导论(第五版)》,张海藩,清华大学出版社⒉《软件工程(第二版)》,齐治昌,高等教育出版社⒊《WEB设计禁忌》,(美)约翰逊,机械工业出版社⒋《用户体验的要素--以用户为中心的Web设计》,(美)JesseJamesGarrett,范晓燕译,机械工业出版社教学难点⒈Web工程的过程框架;⒉Web分析、Web设计、Web测试的实现。下页末页上页首页目录第11章Web工程5/38Web工程•YogeshDeshpande和SteveHansen在1998年就提出了Web工程的概念。•Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。•Web工程“使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统”。下页末页上页首页目录第11章Web工程6/3811.1基于Web系统和应用的属性•Web工程不是软件工程的完全克隆,但是它借用了软件工程的许多基本概念和原理,强调了相同的技术和管理活动。•WebApp:Web的系统和应用•Web的系统和应用不同于其他类别的计算机软件:基于web的系统是“页面排版和软件开发、市场和预算、内部交流和外部联系以及艺术和技术间”综合作用的产物。下页末页上页首页目录第11章Web工程7/38基于Web系统和应用的属性•绝大多数WebApp中都要考虑下列属性–网络集约(networkintensive)–并发(Concurrency)–不可预测的登陆(Unpredictableload)–性能(Performance)–可用性(Availability)–数据驱动(Datadriven)–内容敏感(contentsensitive)–持续演化(continuousevolution)下页末页上页首页目录第11章Web工程8/38基于Web系统和应用的属性•WebApp的以下特征驱动了持续演化的过程–即时性•开发者必须想一些办法来做计划、分析、设计、编码、测试,以适应WebApp开发时间紧的要求–安全性•在整个支持某WebApp的基础设施和应用本身内部必须实现强的安全措施–美学•WebApp的吸引力的一个不可否认的部分是其观感下页末页上页首页目录第11章Web工程9/38基于Web系统和应用的属性•在Web工程中,最常遇到的应用类别是–信息型:使用简单的导航和链接提供只读的内容。–下载型:用户从合适的服务器下载信息。–可定制型:用户定制内容以满足特定需要。–交互型:一个用户群落通过聊天室、公告牌或即时消息传递来通信。下页末页上页首页目录第11章Web工程10/38基于Web系统和应用的属性–用户输入型:基于表格的输入是满足通信需要的主要机制。–面向事务型:用户提交一个由WebApp完成的请求(如下订单)。–面向服务型:应用向用户提供服务(如帮助用户确定抵押支付)。–门户型:应用引导用户到在本门户应用范围之外的其他内容或服务。–数据库访问型:用户查询某大型数据库并提取信息。–数据仓库型:用户查询一组大型数据库并提取信息。下页末页上页首页目录第11章Web工程11/3811.2Web工程过程•WebApp的开发具有如下特点:–WebApp常常以增量的方式去开发–变化经常发生–期限较短•整个Web工程过程也与上述特点相适应。下页末页上页首页目录第11章Web工程12/38Web工程过程-过程框架•整个Web工程过程框架包括:–客户交流客户交流以两个主要的任务为主要特点;商业分析和规划。商业分析为WebApp定义了商业/组织背景,预测商业环境或需求中的潜在变化,定义WebApp和其他商业应用程序、数据库及功能的整合。规划是一个收集包括所有参与者信息的需求。–计划作出WebApp增量式项目计划。这个计划由一个任务定义和一个时间表组成(常常数周之内)。下页末页上页首页目录第11章Web工程13/38Web工程过程-过程框架–构建使用Web工具和技术去构建已被建模的WebApp。–部署把WebApp配置成适合于它所运行的环境,并把它发送给终端用户。而后就开始进入评估阶段了。最后把评估反馈给Web工程团队。-建模常见的软件工程和设计的任务要和WebApp开发相适应、相融合、然后并入WebApp建模活动中去。下页末页上页首页目录第11章Web工程14/38Web工程中有用的规则•如果去做一些企业级的WebApp,下面的一些基本的规则应比较适用–即使WebApp的细节是模糊的,也要花一些时间去理解商业需求和产品目标–用基于用况的方法去描述用户如何与WebApp交互•项目计划和跟踪•去指导分析和设计模型•作为测试设计的重要基础下页末页上页首页目录第11章Web工程15/38Web工程中有用的规则–做一个项目计划,即便很简短–花些时间去建模要做的东西–考察模型的一致性和质量–使用一些能使你去构建带有尽可能多可重用组建的系统的工具和技术–设计一些综合性的测试,并在系统发布前执行它们下页末页上页首页目录第11章Web工程16/38方法和工具•Web工程方法包括一系列能适用Web工程师理解、特征化、而后做出一个高质量WebApp的技术性任务。Web工程方法一般包括如下几种–交流方法:定义了能便于Web工程师和所有WebApp投资者(如:终端用户、商业客户、问题域专家、内容设计者、团队领导、项目经理)交流的方法下页末页上页首页目录第11章Web工程17/38方法和工具–需求分析方法:提供了理解被WebApp所传送内容的基础。了解提供给终端用户的功能,以及各类用户通过WebApp进行相互作用的模式。–设计方法:包括一系列表现WebApp内容、应用和信息结构、界面设计及浏览结构的设计技术。–测试方法:包括正式的对内容和设计的模式、及一系列包括构件级和结构问题、浏览测试、可用性测试、安全性测试和配置测试的技术评审下页末页上页首页目录第11章Web工程18/3811.3.1Web的分析类别•Web工程根据自身的特点,将分析分为:•内容分析:因为Web工程以内容为基础,所以需要对Web工程的内容进行分析,其中的内容包括工程中所有可见可听到的要素,通常包括文字、图形、图像、音频和视频•交互分析:主要解决用户和系统之间的交互问题,分析时会用到下面四种单元:用况图、顺序图、状态图、用户界面原型。11.3Web分析下页末页上页首页目录第11章Web工程19/38Web的分析类别•功能分析:与交互分析类似,交互分析主要涉及Web工程操作。用户可见的功能包括任何可以直接由用户操作的功能•配置分析:主要对工程所涉及的环境和基础设施进行详细的描述,其中基础设施主要包括构件基础设施和数据库将被用于生成内容的程度•导航关系分析:主要分析各个页面之间的关系。可通过对用户的分析和对页面单元的分析来进行。下页末页上页首页目录第11章Web工程20/3811.3.2分析元素•从分析元素来分,可以将Web工程分为CRC卡片,用况图,及其它UML图–CRC(class–responsibility-collaborator)卡片:提供了一种简单的标识和组织与系统或产品需求相关的类的手段–用况图:一个描述软件如何被用于给定情形的场景–其它UML图:UML是用于对象建模和对象分析时使用的一种工具下页末页上页首页目录第11章Web工程21/3811.4Web设计•Web设计主要可分为–体系结构设计–导航设计–界面设计•一个良好的Web设计需要满足以下要求–设计要尽可能的简单–布局要尽可能的美观–整体的一致性下页末页上页首页目录第11章Web工程22/38体系结构设计•体系结构主要有–线性结构–网格结构–层次结构线性结构网格结构下页末页上页首页目录第11章Web工程23/38体系结构设计•不同的体系结构比较体系结构线性结构网格结构层次结构特点结构比较固定Web内容一维化Web内容多维化最常见的结构优点简单有极大的灵活性有较大的灵活性缺点灵活性不高很容易带来混乱易混乱例子订单大型网站普通网站下页末页上页首页目录第11章Web工程24/38导航设计•导航设计,主要可以分为两部分–可以对不同的用户权限给出不同的导航路径–给同一类用户一个共同的导航语义•在导航设计时,需要为同一类用户建立一个语义导航单元,这样方便后继的管理。•在导航设计时,需要考虑建立合适的导航约定和帮助。下页末页上页首页目录第11章Web工程25/38界面设计•Web工程中的界面可以说是Web工程给人的第一印象,只有让用户对第一印象产生好感觉时,用户才有可能使用WEB工程的其它功能—导航和内容。•所有的用户界面需要易使用,易操作,直观,一致。除此之外,界面还要求有助于用户浏览,界面需要显示用户当前所在的网站或工程的路径。下页末页上页首页目录第11章Web工程26/38界面设计•Web界面设计要考虑的三个问题:–浏览者目前的位置–浏览者目前可以进行的操作–浏览者可以导向的目标Google简洁的界面下页末页上页首页目录第11章Web工程27/38界面设计•WEB工程自己的设计原则–页面速度–页面正确–所有的菜单和界面的风格应该统一–链接指示应明显–界面功能明显清晰–通常都需要使用表格等工具下页末页上页首页目录第11章Web工程28/38构件级设计•Web应用程序逐渐形成变得模板化,功能化。这种处理功能主要包括–数据库查询以及其它操作–与外部企业系统的数据接口–用户的注册和认证•Web工程师须设计和构建一些程序构件,它们和普通软件在形式上是一致的。利用构件技术,可方便地组建各种不同的Web应用程序。下页末页上页首页目录第11章Web工程29/38构件级设计•理想的构件模型界面构件逻辑构件数据库构件网络构件用户管理构件并发处理构件下页末页上页首页目录第11章Web工程30/3811.5Web测试质量评判标准•采用下面的原则来测试和评价WebApp的质量–内容可以从句法和语义两个层次来评价–功能测试可以发现不符合用户需求的错误–结构评估是为了确保它恰当地展现了WebApp的内容和功能,确保它是可扩展的,确保能支持新的内容或功能–易用性测试是为了确保每个不同的用户群能被WebApp界面支持,能学会并运用所有需要的导航用法和意义下页末页上页首页目录第11章Web工程31/38质量评判标准–导航测试是为了确保所有的导航用法和意义都被实现以便发现导航错误–性能测试必须在各种各样的操作条件、配置和负载下进行,确保系统能响应用户的交互操作,能在可接受的性能下降的条件下处理极端的负载量–兼容性测试就是在客户机和服务器上设定不同的配置条件下执行WebApp–协同工作测试是为了确保WebApp能很好地与其他的应用程序和数据库交互–安全性测试就是评估潜在的易攻击性,任何一个成功的入侵都认为是安全方面的失败下页末页上页首页目录第11章Web工程32/38在WebApp环境下出现的错误•WebApp测试中的独特的错误特征–WebApp测试发现的错误一开始都是显现在客户端(如某个浏览器或PDA或手机),所以web工程师看到的只是问题的表象,而不是其实质–一个WebApp运行在许多不同的配置条件及各种各样的环境下,所以脱离某个错误最初产生时的环境,重现这个错误是很困难甚至是不可能的下页末页上页首页目录第11章Web工程33/38在WebApp环境下出现的错误–虽然一些错误是由于错误的设计和不
本文标题:复旦大学计算机科学与工程系
链接地址:https://www.777doc.com/doc-177547 .html