清华软件工程:第12章 Web工程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 交流方法:定义了能便于Web工程师和所有 交流方法: Web WebApp投资者(如:终端用户,商业客户, 问题域专家,内容设计者,团队领导,项目 经理)交流的方法
复旦大学计算机科学与工程系 软件工程课程
19/46
方法和工具
– 需求分析方法:提供了理解被WebApp所传 需求分析方法: 送内容的基础.了解提供给终端用户的功能, 以及各类用户通过WebApp进行相互作用的 模式. – 设计方法:包括一系列表现WebApp内容, 设计方法: WebApp 应用和信息结构,界面设计及浏览结构的设 计技术. – 测试方法:包括正式的对内容和设计的模式, 测试方法: 及一系列包括构件级和结构问题,浏览测试, 可用性测试,安全性测试和配置测试的技术 评审
复旦大学计算机科学与工程系 软件工程课程 20/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 工程过程 Web分析 Web分析 Web设计 设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
21/46
Web的分析类别 Web的分析类别
Web工程的分析特点 工程的分析特点
– 安全性
在整个支持某 在整个支持某WebApp的基础设施和应用本身内部必须实 的基础设施和应用本身内部必须实 现强的安全措施
– 美学
一个 一个WebApp的吸引力的一个不可否认的部分是其观感 的吸引力的一个不可否认的部分是其观感
复旦大学计算机科学与工程系 软件工程课程
7/46
基于Web系统和应用的属性 基于Web系统和应用的属性
复旦大学计算机科学与工程系 软件工程课程 23/46
Web的分析类别 Web的分析类别
功能分析:与交互分析类似,交互分析主要涉 功能分析:与交互分析类似, 工程操作. 及Web工程操作.用户可见的功能包括任何可 工程操作 以直接由用户操作的功能 配置分析:主要对工程所涉及的环境和基础设 配置分析: 施进行详细的描述, 施进行详细的描述,其中基础设施主要包括构 件基础设施和数据库将被用于生成内容的程度 导航关系分析:主要分析各个页面之间的关系. 导航关系分析:主要分析各个页面之间的关系. 可以通过对用户的分析和对页面单元的分析来 进行
复旦大学计算机科学与工程系 软件工程课程
18/46
方法和工具
Web工程方法包括一系列能适用 工程方法包括一系列能适用Web工 工程方法包括一系列能适用 工 程师理解,特征化, 程师理解,特征化,而后做出一个高质量 WebApp的技术性任务.Web工程方法 的技术性任务. 的技术性任务 工程方法 一般包括如下几种
复旦大学计算机科学与工程系 软件工程课程
16/46
Web工程中有用的规则 Web工程中有用的规则
如果去做一些企业级的 如果去做一些企业级的WebApp,下面的 , 一些基本的规则应比较适用
– 即使WebApp的细节是模糊的,也要花一些 时间去理解商业需求和产品目标 – 用基于用况的方法去描述用户如何与 WebApp交互
复旦大学计算机科学与工程系 软件工程课程
4/46
基于Web系统和应用的属性 基于Web系统和应用的属性
Web工程不是软件工程的完全克隆,但 工程不是软件工程的完全克隆 工程不是软件工程的完全克隆, 是它借用了软件工程的许多基本概念和原 理,强调了相同的技术和管理活动 WebApp :Web的系统和应用 的系统和应用 Web的系统和应用不同于其他类别的计 的系统和应用不同于其他类别的计 基于web的系统是"页面排 的系统是" 算机软件 :基于 的系统是 版和软件开发,市场和预算, 版和软件开发,市场和预算,内部交流和 外部联系以及艺术和技术间" 外部联系以及艺术和技术间"综合作用的 产物
复旦大学计算机科学与工程系 软件工程课程
24/46
分析元素
从分析元素来分,可以将Web工程分为 从分析元素来分,可以将 工程分为 CRC卡片,用况图,及其它 卡片, 卡片 用况图,及其它UML图 图
– CRC (class –responsibility-collaborator,类 -责任-协作者)卡片:提供了一种简单的标识 和组织与系统或产品需求相关的类的手段 – 用况图:一个描述软件如何被用于给定情形 的场景 – 其它UML图:UML是用于对象建模和对象 分析时使用的一种工具
基于Web系统和应用的属性 基于Web系统和应用的属性
– – – – – – 用户输入型:基于表格的输入是满足通信需要的主 要机制. 面向事务型:用户提交一个由WebApp完成的请求 (如下订单). 面向服务型:应用向用户提供服务(如帮助用户确 定抵押支付). 门户型:应用引导用户到在本门户应用范围之外的 其他内容或服务. 数据库访问型:用户查询某大型数据库并提取信息. 数据仓库型:用户查询一组大型数据库并提取信息.
– WebApp常常以增量的方式去开发 – 变化经常发生 – 期限较短
因此整个 因此整个Web工程过程也与这些特点相 工程过程也与这些特点相 适应. 适应.
复旦大学计算机科学与工程系 软件工程课程
11/46
Web 工程过程-过程框架
整个 整个Web工程过程框架包括: 工程过程框架包括: 工程过程框架包括
复旦大学计算机科学与工程系 软件工程课程 25/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 工程过程 Web分析 分析 Web设计 Web设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
26/46
Web设计 Web设计
Web设计主要可分为 设计主要可分为
复旦大学计算机科学与工程系 软件工程课程
9/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 Web工程过程 Web分析 分析 Web设计 设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
10/46
Web 工程过程
WebApp的开发具有如下特点: 的开发具有如下特点: 的开发具有如下特点
项目计划和跟踪 去指导分析和设计模型 作为测试设计的重要基础
复旦大学计算机科学与工程系 软件工程课程 17/46
Web工程中有用的规则 Web工程中有用的规则
– 做一个项目计划,即便很简短 – 花些时间去建模要做的东西 – 考察模型的一致性和质量 – 使用一些能使你去构建带有尽可能多可重用 组建的系统的工具和技术 – 设计一些综合性的测试,并在系统发布前执 行它们
软件工程
第12章 Web工程 12章 Web工程
Web工程 Web工程
Yogesh Deshpande和Steve Hansen在 和 在 1998年就提出了 年就提出了Web工程的概念.Web 工程的概念. 年就提出了 工程的概念 工程作为一门新兴的学科, 工程作为一门新兴的学科,提倡使用一个 过程和系统的方法来开发高质量的基于 Web的系统.它"使用合理的,科学的工 的系统. 使用合理的 使用合理的, 的系统 程和管理原则, 程和管理原则,用严密的和系统的方法来 开发,发布和维护基于Web的系统 . 的系统". 开发,发布和维护基于 的系统
– – – – – 客户交流 计划 建模 构建 部署
复旦大学计算机科学与工程系 软件工程课程
12/46
Web 工程过程-过程框架
客户交流
– 在Web工程过程中,客户交流以两个主要 的任务为主要特点;商业分析和规划.商 业分析为WebApp定义了商业/组织背景, 预测商业环境或需求中的潜在变化,定义 WebApp和其他商业应用程序,数据库及 功能的整合.规划是一个收集包括所有参 与者信息的需求.另外,尽量去找出那些 不确定的区域及哪里将会出现一些潜在的 变化
– – – – – 内容分析 交互分析 功能分析 配置分析 导航关系分析
复旦大学计算机科学与工程系 软件工程课程
22/46
Web的分析类别 Web的分析类别
内容分析:因为Web工程以内容为基础, 内容分析:因为 工程以内容为基础, 工程以内容为基础 所以需要对Web工程的内容进行分析, 工程的内容进行分析, 所以需要对 工程的内容进行分析 其中的内容包括工程中所有可见可听到的 要素,通常包括文字,图形,图像, 要素,通常包括文字,图形,图像,音频 和视频 交互分析:主要解决用户和系统之间的交 交互分析: 互问题,分析时会用到下面四种单元: 互问题,分析时会用到下面四种单元:用 况图,顺序图,状态图, 况图,顺序图,状态图,用户界面原型
工程中, 在Web工程中,下面的应用类别是最常 工程中 遇到的
– – – – 信息型:使用简单的导航和链接提供只读 的内容. 下载型:用户从合适的服务器下载信息. 可定制型:用户定制内容以满足特定需要. 交互型:一个用户群落通过聊天室,公告 牌或即时消息传递来通信.
复旦大学计算机科学与工程系 软件工程课程 8/46
复旦大学计算机科学与工程系 软件工程课程 13/46
Web 工程Байду номын сангаас程-过程框架
计划
– 作出WebApp增量式项目计划.这个计划 由一个任务定义和一个时间表组成(常常 数周之内).在这一时期内,要做出 WebApp的开发计划 常见的软件工程和设计的任务要和 WebApp开发相适应,相融合,然后并入 WebApp建模活动中去
复旦大学计算机科学与工程系 软件工程课程 6/46
基于Web系统和应用的属性 基于Web系统和应用的属性
WebApp的以下特征驱动了持续演化的过程 的以下特征驱动了持续演化的过程
– 即时性
开发者必须想一些办法来做计划,分析,设计,编码,测 开发者必须想一些办法来做计划,分析,设计,编码, 以适应WebApp开发时间紧的要求 试,以适应 开发时间紧的要求
复旦大学计算机科学与工程系 软件工程课程 14/46
建模
–
Web 工程过程-过程框架
构建
– 使用Web工具和技术去构建已被建模的 WebApp.一旦构建了WebApp,就会使用 一系列快速测试去暴露出设计中的错误 把WebApp配置成适合于它所运行的环境, 并把它发送给终端用户.而后就开始进入 评估阶段了.最后把评估反馈给Web工程 团队
复旦大学计算机科学与工程系 软件工程课程 15/46
部署
–
Web 工程过程-改善框架 工程过程-
改善框架
– Web工程过程模型必须具有一定的适应性.一些情 况下,一个框架活动会非正式地实施.其他的时候, 一系列不同的任务将会被定义并被团队成员去执行. 每种情况中,团队有责任在分配好的时间内完成高 质量的WebApp增量.需要着重指出的是和Web工 程框架活动相关联的一些任务可以被修改,消除, 或基于问题,产品,工程及Web工程团队人员的特 征进行扩展.
复旦大学计算机科学与工程系 软件工程课程
2/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 工程过程 Web分析 分析 Web设计 设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
3/46
内容摘要
基于Web系统和应用的属性 基于Web系统和应用的属性 Web工程过程 工程过程 Web分析 分析 Web设计 设计 Web测试 测试
– 体系结构设计 – 导航设计 – 界面设计
一个良好的 一个良好的Web设计需要满足以下要求 设计需要满足以下要求
– 设计要尽可能的简单 – 布局要尽可能的美观 – 整体的一致性
复旦大学计算机科学与工程系 软件工程课程 27/46
复旦大学计算机科学与工程系 软件工程课程 5/46
基于Web系统和应用的属性 基于Web系统和应用的属性
绝大多数 绝大多数WebApp中都要考虑下列属性 中都要考虑下列属性
– – – – – – – – 网络集约 (network intensive) 并发(Concurrency) 不可预测的登陆(Unpredictable load) 性能(Performance) 可用性(Availability) 数据驱动 (Data driven) 内容敏感(content sensitive) 持续演化(continuous evolution)
复旦大学计算机科学与工程系 软件工程课程
19/46
方法和工具
– 需求分析方法:提供了理解被WebApp所传 需求分析方法: 送内容的基础.了解提供给终端用户的功能, 以及各类用户通过WebApp进行相互作用的 模式. – 设计方法:包括一系列表现WebApp内容, 设计方法: WebApp 应用和信息结构,界面设计及浏览结构的设 计技术. – 测试方法:包括正式的对内容和设计的模式, 测试方法: 及一系列包括构件级和结构问题,浏览测试, 可用性测试,安全性测试和配置测试的技术 评审
复旦大学计算机科学与工程系 软件工程课程 20/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 工程过程 Web分析 Web分析 Web设计 设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
21/46
Web的分析类别 Web的分析类别
Web工程的分析特点 工程的分析特点
– 安全性
在整个支持某 在整个支持某WebApp的基础设施和应用本身内部必须实 的基础设施和应用本身内部必须实 现强的安全措施
– 美学
一个 一个WebApp的吸引力的一个不可否认的部分是其观感 的吸引力的一个不可否认的部分是其观感
复旦大学计算机科学与工程系 软件工程课程
7/46
基于Web系统和应用的属性 基于Web系统和应用的属性
复旦大学计算机科学与工程系 软件工程课程 23/46
Web的分析类别 Web的分析类别
功能分析:与交互分析类似,交互分析主要涉 功能分析:与交互分析类似, 工程操作. 及Web工程操作.用户可见的功能包括任何可 工程操作 以直接由用户操作的功能 配置分析:主要对工程所涉及的环境和基础设 配置分析: 施进行详细的描述, 施进行详细的描述,其中基础设施主要包括构 件基础设施和数据库将被用于生成内容的程度 导航关系分析:主要分析各个页面之间的关系. 导航关系分析:主要分析各个页面之间的关系. 可以通过对用户的分析和对页面单元的分析来 进行
复旦大学计算机科学与工程系 软件工程课程
18/46
方法和工具
Web工程方法包括一系列能适用 工程方法包括一系列能适用Web工 工程方法包括一系列能适用 工 程师理解,特征化, 程师理解,特征化,而后做出一个高质量 WebApp的技术性任务.Web工程方法 的技术性任务. 的技术性任务 工程方法 一般包括如下几种
复旦大学计算机科学与工程系 软件工程课程
16/46
Web工程中有用的规则 Web工程中有用的规则
如果去做一些企业级的 如果去做一些企业级的WebApp,下面的 , 一些基本的规则应比较适用
– 即使WebApp的细节是模糊的,也要花一些 时间去理解商业需求和产品目标 – 用基于用况的方法去描述用户如何与 WebApp交互
复旦大学计算机科学与工程系 软件工程课程
4/46
基于Web系统和应用的属性 基于Web系统和应用的属性
Web工程不是软件工程的完全克隆,但 工程不是软件工程的完全克隆 工程不是软件工程的完全克隆, 是它借用了软件工程的许多基本概念和原 理,强调了相同的技术和管理活动 WebApp :Web的系统和应用 的系统和应用 Web的系统和应用不同于其他类别的计 的系统和应用不同于其他类别的计 基于web的系统是"页面排 的系统是" 算机软件 :基于 的系统是 版和软件开发,市场和预算, 版和软件开发,市场和预算,内部交流和 外部联系以及艺术和技术间" 外部联系以及艺术和技术间"综合作用的 产物
复旦大学计算机科学与工程系 软件工程课程
24/46
分析元素
从分析元素来分,可以将Web工程分为 从分析元素来分,可以将 工程分为 CRC卡片,用况图,及其它 卡片, 卡片 用况图,及其它UML图 图
– CRC (class –responsibility-collaborator,类 -责任-协作者)卡片:提供了一种简单的标识 和组织与系统或产品需求相关的类的手段 – 用况图:一个描述软件如何被用于给定情形 的场景 – 其它UML图:UML是用于对象建模和对象 分析时使用的一种工具
基于Web系统和应用的属性 基于Web系统和应用的属性
– – – – – – 用户输入型:基于表格的输入是满足通信需要的主 要机制. 面向事务型:用户提交一个由WebApp完成的请求 (如下订单). 面向服务型:应用向用户提供服务(如帮助用户确 定抵押支付). 门户型:应用引导用户到在本门户应用范围之外的 其他内容或服务. 数据库访问型:用户查询某大型数据库并提取信息. 数据仓库型:用户查询一组大型数据库并提取信息.
– WebApp常常以增量的方式去开发 – 变化经常发生 – 期限较短
因此整个 因此整个Web工程过程也与这些特点相 工程过程也与这些特点相 适应. 适应.
复旦大学计算机科学与工程系 软件工程课程
11/46
Web 工程过程-过程框架
整个 整个Web工程过程框架包括: 工程过程框架包括: 工程过程框架包括
复旦大学计算机科学与工程系 软件工程课程 25/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 工程过程 Web分析 分析 Web设计 Web设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
26/46
Web设计 Web设计
Web设计主要可分为 设计主要可分为
复旦大学计算机科学与工程系 软件工程课程
9/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 Web工程过程 Web分析 分析 Web设计 设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
10/46
Web 工程过程
WebApp的开发具有如下特点: 的开发具有如下特点: 的开发具有如下特点
项目计划和跟踪 去指导分析和设计模型 作为测试设计的重要基础
复旦大学计算机科学与工程系 软件工程课程 17/46
Web工程中有用的规则 Web工程中有用的规则
– 做一个项目计划,即便很简短 – 花些时间去建模要做的东西 – 考察模型的一致性和质量 – 使用一些能使你去构建带有尽可能多可重用 组建的系统的工具和技术 – 设计一些综合性的测试,并在系统发布前执 行它们
软件工程
第12章 Web工程 12章 Web工程
Web工程 Web工程
Yogesh Deshpande和Steve Hansen在 和 在 1998年就提出了 年就提出了Web工程的概念.Web 工程的概念. 年就提出了 工程的概念 工程作为一门新兴的学科, 工程作为一门新兴的学科,提倡使用一个 过程和系统的方法来开发高质量的基于 Web的系统.它"使用合理的,科学的工 的系统. 使用合理的 使用合理的, 的系统 程和管理原则, 程和管理原则,用严密的和系统的方法来 开发,发布和维护基于Web的系统 . 的系统". 开发,发布和维护基于 的系统
– – – – – 客户交流 计划 建模 构建 部署
复旦大学计算机科学与工程系 软件工程课程
12/46
Web 工程过程-过程框架
客户交流
– 在Web工程过程中,客户交流以两个主要 的任务为主要特点;商业分析和规划.商 业分析为WebApp定义了商业/组织背景, 预测商业环境或需求中的潜在变化,定义 WebApp和其他商业应用程序,数据库及 功能的整合.规划是一个收集包括所有参 与者信息的需求.另外,尽量去找出那些 不确定的区域及哪里将会出现一些潜在的 变化
– – – – – 内容分析 交互分析 功能分析 配置分析 导航关系分析
复旦大学计算机科学与工程系 软件工程课程
22/46
Web的分析类别 Web的分析类别
内容分析:因为Web工程以内容为基础, 内容分析:因为 工程以内容为基础, 工程以内容为基础 所以需要对Web工程的内容进行分析, 工程的内容进行分析, 所以需要对 工程的内容进行分析 其中的内容包括工程中所有可见可听到的 要素,通常包括文字,图形,图像, 要素,通常包括文字,图形,图像,音频 和视频 交互分析:主要解决用户和系统之间的交 交互分析: 互问题,分析时会用到下面四种单元: 互问题,分析时会用到下面四种单元:用 况图,顺序图,状态图, 况图,顺序图,状态图,用户界面原型
工程中, 在Web工程中,下面的应用类别是最常 工程中 遇到的
– – – – 信息型:使用简单的导航和链接提供只读 的内容. 下载型:用户从合适的服务器下载信息. 可定制型:用户定制内容以满足特定需要. 交互型:一个用户群落通过聊天室,公告 牌或即时消息传递来通信.
复旦大学计算机科学与工程系 软件工程课程 8/46
复旦大学计算机科学与工程系 软件工程课程 13/46
Web 工程Байду номын сангаас程-过程框架
计划
– 作出WebApp增量式项目计划.这个计划 由一个任务定义和一个时间表组成(常常 数周之内).在这一时期内,要做出 WebApp的开发计划 常见的软件工程和设计的任务要和 WebApp开发相适应,相融合,然后并入 WebApp建模活动中去
复旦大学计算机科学与工程系 软件工程课程 6/46
基于Web系统和应用的属性 基于Web系统和应用的属性
WebApp的以下特征驱动了持续演化的过程 的以下特征驱动了持续演化的过程
– 即时性
开发者必须想一些办法来做计划,分析,设计,编码,测 开发者必须想一些办法来做计划,分析,设计,编码, 以适应WebApp开发时间紧的要求 试,以适应 开发时间紧的要求
复旦大学计算机科学与工程系 软件工程课程 14/46
建模
–
Web 工程过程-过程框架
构建
– 使用Web工具和技术去构建已被建模的 WebApp.一旦构建了WebApp,就会使用 一系列快速测试去暴露出设计中的错误 把WebApp配置成适合于它所运行的环境, 并把它发送给终端用户.而后就开始进入 评估阶段了.最后把评估反馈给Web工程 团队
复旦大学计算机科学与工程系 软件工程课程 15/46
部署
–
Web 工程过程-改善框架 工程过程-
改善框架
– Web工程过程模型必须具有一定的适应性.一些情 况下,一个框架活动会非正式地实施.其他的时候, 一系列不同的任务将会被定义并被团队成员去执行. 每种情况中,团队有责任在分配好的时间内完成高 质量的WebApp增量.需要着重指出的是和Web工 程框架活动相关联的一些任务可以被修改,消除, 或基于问题,产品,工程及Web工程团队人员的特 征进行扩展.
复旦大学计算机科学与工程系 软件工程课程
2/46
内容摘要
基于 基于Web系统和应用的属性 系统和应用的属性 Web工程过程 工程过程 Web分析 分析 Web设计 设计 Web测试 测试
复旦大学计算机科学与工程系 软件工程课程
3/46
内容摘要
基于Web系统和应用的属性 基于Web系统和应用的属性 Web工程过程 工程过程 Web分析 分析 Web设计 设计 Web测试 测试
– 体系结构设计 – 导航设计 – 界面设计
一个良好的 一个良好的Web设计需要满足以下要求 设计需要满足以下要求
– 设计要尽可能的简单 – 布局要尽可能的美观 – 整体的一致性
复旦大学计算机科学与工程系 软件工程课程 27/46
复旦大学计算机科学与工程系 软件工程课程 5/46
基于Web系统和应用的属性 基于Web系统和应用的属性
绝大多数 绝大多数WebApp中都要考虑下列属性 中都要考虑下列属性
– – – – – – – – 网络集约 (network intensive) 并发(Concurrency) 不可预测的登陆(Unpredictable load) 性能(Performance) 可用性(Availability) 数据驱动 (Data driven) 内容敏感(content sensitive) 持续演化(continuous evolution)