当前位置:   article > 正文

软件工程导论12-Web工程_web工程背景介绍

web工程背景介绍

Web工程

Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。

Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统

Web工程使用合理的、科学的工程和管理原则,用严密的和系统的方法开发、发布和维护基于Web的系统。

1.基于web系统和应用的属性

Web工程不是软件工程的完全克隆,但是它借用了软件工程的许多基本概念和原理,强调了相同的技术和管理活动

WebApp :Web的系统和应用

Web系统和应用:不同于其他类别的计算机软件。基于web的系统是“页面排版和软件开发、市场和预算、内部交流和外部联系以及艺术和技术间”综合作用的产物

WebApp中都要考虑下列属性:

  1. 网络集约 (network intensive)
  2. 并发(Concurrency)
  3. 不可预测的登陆(Unpredictable load)
  4. 性能(Performance)
  5. 可用性(Availability)
  6. 数据驱动 (Data driven)
  7. 内容敏感(content sensitive)
  8. 持续演化(continuous evolution)

WebApp的特征驱动持续演化的过程

  1. 即时性

    开发者必须想一些办法来做计划、分析、设计、编码、测试,以适应WebApp开发时间紧的要求

  2. 安全性

    在整个支持某WebApp的基础设施和应用本身内部必须实现强的安全措施

  3. 美学

    一个WebApp的吸引力的一个不可否认的部分是其观感

在Web工程中,最常见的应用类别(10种):

  1. 信息型:使用简单的导航和链接提供只读的内容。
  2. 下载型:用户从合适的服务器下载信息。
  3. 可定制型:用户定制内容以满足特定需要。
  4. 交互型(通信型):一个用户群落通过聊天室、公告牌或即时消息传递来通信。
  5. 用户输入型:基于表格的输入是满足通信需要的主要机制。
  6. 面向事务型:用户提交一个由WebApp完成的请求(如下订单)。
  7. 面向服务型:应用向用户提供服务(如帮助用户确定抵押支付)。
  8. 门户型:引导用户到在本门户应用范围之外的其他内容或服务。(VOP)
  9. 数据库访问型:用户查询某大型数据库并提取信息。
  10. 数据仓库型:用户查询一组大型数据库并提取信息。

2.web工程过程

WebApp的开发具有如下特点:

  1. WebApp常常以增量的方式去开发
  2. 变化经常发生
  3. 期限较短

因此整个Web工程过程也与这些特点相适应。

2.1.Web过程框架

整个Web工程过程框架包括:

  1. 客户交流
  2. 计划
  3. 建模
  4. 构建
  5. 部署
2.1.1.客户交流
  • 在Web工程过程中,客户交流以两个主要的任务为主要特点——商业分析规划
  • 商业分析为WebApp定义了商业/组织背景,预测商业环境或需求中的潜在变化,定义WebApp和其他商业应用程序、数据库及功能的整合
  • 规划是一个收集包括所有参与者信息的需求。另外,尽量去找出那些不确定的区域及哪里将会出现一些潜在的变化
2.1.2.计划

作出WebApp增量式项目计划。这个计划由一个任务定义和一个时间表组成(常常数周之内)。在这一时期内,要做出WebApp的开发计划

2.1.3.建模

开放式的架构。常见的软件工程和设计的任务要和WebApp开发相适应、相融合、然后并入WebApp建模活动中去

2.1.4.构建

快速开发。使用Web工具和技术去构建已被建模的WebApp。一旦构建了WebApp,就会使用一系列快速测试去暴露出设计中的错误

2.1.5.部署

快速部署,积极反馈。把WebApp配置成适合于它所运行的环境,并把它发送给终端用户。而后就开始进入评估阶段了。最后把评估反馈给Web工程团队

2.2.Web工程中的规则

如果去做一些企业级的WebApp,下面的一些基本的规则应比较适用

  1. 即使WebApp的细节是模糊的,也要花一些时间去理解商业需求产品目标
  2. 用基于用况的方法,去描述用户如何与WebApp交互
  3. 做一个项目计划(即便很简短)
  4. 花些时间去建模要做的东西
  5. 考察模型的一致性和质量
  6. 使用一些能构建带有尽可能多可重用组建的系统的工具和技术
  7. 设计一些综合性的测试,并在系统发布前执行它们

2.3.方法和工具

Web工程方法一般包括如下几种:

  1. 交流方法:定义了能便于Web工程师和所有WebApp投资者(如:终端用户、商业客户、问题域专家、内容设计者、团队领导、项目经理)交流的方法
  2. 需求分析方法:提供了理解被WebApp所传送内容的基础。了解提供给终端用户的功能,以及各类用户通过WebApp进行相互作用的模式。
  3. 设计方法:包括一系列表现WebApp内容、应用和信息结构、界面设计及浏览结构的设计技术。
  4. 测试方法:包括正式的对内容和设计的模式、及一系列包括构件级和结构问题、浏览测试、可用性测试、安全性测试和配置测试的技术评审

3.web分析

3.1.Web的分析类别

3.1.1.Web工程的分析特点
  1. 内容分析
  2. 交互分析
  3. 功能分析
  4. 配置分析
  5. 导航关系分析
3.1.2.内容分析

因为Web工程以内容为基础,所以需要对Web工程的内容进行分析,其中的内容包括工程中所有可见可听到的要素,通常包括文字、图形、图像、音频和视频

3.1.3.交互分析

主要解决用户和系统之间的交互问题,分析时会用到下面四种单元:用况图、顺序图、状态图、用户界面原型

3.1.4.功能分析

与交互分析类似,交互分析主要涉及Web工程操作。用户可见的功能包括任何可以直接由用户操作的功能

3.1.5.配置分析

主要对工程所涉及的环境和基础设施进行详细的描述,其中基础设施主要包括构件基础设施数据库将被用于生成内容的程度

3.1.6.导航关系分析

主要分析各个页面之间的关系。可以通过对用户的分析和对页面单元的分析来进行

3.2.分析元素

从分析元素来分,可以将Web工程分为CRC卡片,用况图,及其它UML图

  1. CRC (class –responsibility-collaborator,类-责任-协作者)卡片:提供了一种简单的标识和组织与系统或产品需求相关的类的手段
  2. 用况图:一个描述软件如何被用于给定情形的场景
  3. 其它UML图:UML是用于对象建模和对象分析时使用的一种工具

4.web设计

Web设计主要可分为

  1. 体系结构设计
  2. 导航设计
  3. 界面设计

一个良好的Web设计需要满足以下需求

  1. 设计要尽可能的简单
  2. 布局要尽可能的美观
  3. 整体的一致性

4.1.体系结构设计

  1. 线性结构
  2. 网络结构
  3. 层次结构

在这里插入图片描述

不同的体系结构的比较

体系结构线性结构网格结构层次结构
特点结构比较固定Web内容一维化Web内容多维化最常见的结构
优点简单有极大的灵活性有较大的灵活性
缺点灵活性不高很容易带来混乱易混乱
例子订单大型网站普通网站

4.2.导航设计

导航设计,主要可以分为两部分

  1. 可以对不同的用户权限给出不同的导航路径
  2. 给同一类用户一个共同的导航语义

在导航设计时,需要为同一类用户建立一个语义导航单元,这样方便后继的管理。

在导航设计时,需要考虑建立合适的导航约定和帮助

4.3.界面设计

**Web工程中界面在用户心目中具有非常重要的地位。**界面可以说是Web工程给人的第一印象,只有让用户对第一印象产生好感觉时,用户才有可能使用WEB工程的其它功能——导航和内容。

**所有的用户界面需要易使用,易操作,直观,一致。**除此之外,界面还要求有助于用户浏览,界面需要显示用户当前所在的网站或工程的路径。

Web界面设计要考虑的三个问题:

  1. 浏览者目前的位置
  2. 浏览者目前可以进行的操作
  3. 浏览者可以导向的目标

如:Google简洁的界面

在这里插入图片描述

Web工程的设计原则

  1. 页面正确
  2. 页面速度
  3. 所有的菜单和界面的风格应该统一
  4. 链接指示应明显
  5. 界面功能明显清晰
  6. 通常都需要使用表格等工具

4.4.组件级设计

Web应用程序逐渐形成变得模板化,功能化。这种处理功能主要包括

  1. 数据库查询以及其它操作
  2. 与外部企业系统的数据接口
  3. 用户的注册和认证

**Web工程师必须设计和构建一些程序组件,它们和普通软件在形式上是一致的。**利用构件技术,可以很方便地组建各种不同的Web应用程序。

理想的构件模型

在这里插入图片描述

5.web测试

5.1.质量评判标准

通常采用下面的一些原则来测试和评价WebApp的质量

  1. 内容测试可以从句法和语义两个层次来评价
  2. 功能测试可以发现不符合用户需求的错误
  3. 结构评估是为了确保它恰当地展现了WebApp的内容和功能,确保它是可扩展的,确保能支持新的内容或功能
  4. 易用性测试是为了确保每个不同的用户群能被WebApp界面支持,能学会并运用所有需要的导航用法和意义
  5. 导航测试是为了确保所有的导航用法和意义都被实现以便发现导航错误
  6. 性能测试必须在各种各样的操作条件、配置和负载下进行,确保系统能响应用户的交互操作,能在可接受的性能下降的条件下处理极端的负载量
  7. 兼容性测试就是在客户机和服务器上设定不同的配置条件下执行WebApp
  8. 协同工作测试是为了确保WebApp能很好地与其他的应用程序和数据库交互
  9. 安全性测试就是评估潜在的易攻击性,任何一个成功的入侵都认为是安全方面的失败

5.2.WebApp的错误

WebApp测试中的独特的错误特征:

  1. WebApp错误都是显现在客户端
  2. 脱离错误最初产生时的环境,重现这个错误是很困难甚至是不可能的
  3. 许多错误都与WebApp的配置有关

5.3.测试策略

广泛采用WebApp测试策略

  1. 重新审查WebApp内容模型,发现可能的错误。
  2. 重新审查接口模型,确保能适应所有的使用条件。
  3. 重新审查设计模型,发现可能的链接错误。
  4. 测试用户界面,发现在显示和导航机制方面可能的错误。
  5. 对选出的功能构件做单元测试。
  6. WebApp导航需要测试。
  7. WebApp在不同的环境配置下运行,因此需要对每个配置进行兼容性测试。
  8. 安全性测试是为了发现在WebApp或它的应用环境中会遭人攻击的漏洞。
  9. 性能需要测试。WebApp测试需要一群故意安排的终端用户的参与;他们使用系统的结果可以用来分析内容和导航方面的错误、易用性和兼容性、可靠性和性能。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/836613
推荐阅读
相关标签
  

闽ICP备14008679号