文档库 最新最全的文档下载
当前位置:文档库 › web工程ppt概要终极版本

web工程ppt概要终极版本

web工程ppt概要终极版本
web工程ppt概要终极版本

=============================================================================== 注:

1.此word文档由自己根据上课课件整理,如有错误或者未涉及任何考点概不负责,看前请三思。

2.加粗的字很重要,特别是红色加粗的

3.红字部分为往年考试考点

4.绿色的字为注释说明

===============================================================================

1.Web工程概述:

?web特性:

◆导航性

●通过链接在页面和站点之间的跳转

◆平台无关性

●访问web对用户的系统平台没有任何限制

◆分布式

●物理上分布逻辑一体化

◆动态性

●信息的及时更新

◆交互性

●信息传播:信息的交互、互动和反馈

●web动态的特性表现在web是交互的

?web应用分类:(需求、开发和部署的角度)

◆以文档为中心的web应用

●web应用的先驱

●静态的HTML文档

●优点:简单、稳定,响应时间短

●缺点:需求经常变更或者大量的页面需要修改,导致耗资巨大,信息经常

过时甚至不一致

◆交互式web应用

●简单交互:下拉框等控件

●动态产生页面

●内容更新->事务处理

?去中心化

?数据库连接

?复杂度提高

◆事务型web应用

●简单交互:下拉框等控件

●动态产生页面

●内容更新->事务处理

?去中心化

?数据库连接

?复杂度提高

◆基于工作流的web应用

●处理不同公司、公众人物、私人之间的工作流

●自动化处理和操作的结构

●web服务保证交互性:互操作、低耦合、基于标准

◆协作型的web应用

●非结构化的操作

◆面向门户的web应用

◆普适web应用

◆社会网络(Social web)

◆语义web

●信息不仅是提供给人理解阅读,也可以提供给机器阅读理解

?web应用分类:创建的特征

◆shallow web:静态web,交互性低

◆deep web:动态web,交互性低

◆web2.0:web的新面孔,是一系列技术、业务策略和社会趋势的集合,具有高

交互型,动态性

◆移动web

●Web应用支持移动和无线访问

●提供对用户特性方面的支持

◆语义web

●计算机理解自然语言

?web产品特性:

◆内容方面:

●以文档为中心和多媒体特性

●用户对内容质量的高要求

◆超文本方面

●非线性特性

●易产生迷失或感知负担

◆展示方面

●艺术特性

●自我解释性

?web使用特性:

◆社会上下文:主要指用户特定的方面

●自发访问

●不同的文化背景

◆技术上下文:

●网络连接:服务质量

●特定的设备:多平台支付

◆自然上下文:位置和时间

●全球性

●可用性

?web开发特性:

◆开发团队

●社团开发、多学科专业技能方面比传统的软件开发所需要的更加广泛,人

员类型更多

◆技术基础结构

●异构性和不成熟性

◆开发过程

●灵活性

●并行性

◆集成

●内部集成

●外部集成

?web应用与传统软件开发的区别:

◆web应用本身处于持续变更中,不完全适合螺旋模型等软件生存期模型描述

◆web应用开发的需求分析比传统软件开发的需求分析更困难

◆web页面属于一类特殊的人机界面

2.Web应用开发过程与方法:

?web应用开发过程的特点

◆开发周期短

◆需求变更频繁

◆开发技术不断演化

◆并行开发不同版本

◆重用和集成

◆适应web应用的复杂性程度

?好的web应用开发方法的主要特征:

◆易于掌握

◆对复杂系统建模的能力

◆展示层建模的能力

◆系统定制的支持

◆模型集成和连通的能力

◆工具和文档化支持

?RUP(统一软件开发过程):

◆是一套软件工程方法,主要包含:用于成功开发软件的一组核心概念和做法;

过程模型和相关联内容库;以及底层过程定义语言

?RUP(统一软件开发过程)生命周期:

◆在时间上被分为四个连续的阶段:

●初始:目标是为系统建立商业案例并确定项目的边界,建立项目的软件规

模和边界条件;结束时是第一个重要的里程碑:生命周期目标

●细化:目标是分析问题领域,建立健全的架构基础,编制项目计划,淘汰

项目中最高风险的元素;结束时是第二个里程碑:生命周期架构

●构建:所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能

被详细测试;结束时是第三个重要的里程碑:初始功能里程碑

●交付:重点是确保软件对最终用户是可用的;终点是第四个里程碑:产品

发布里程碑

?XP(Extreme Programming,极限编程):

◆源于快速响应问题域变化的需求,是敏捷过程的一种具体形式,提供敏捷方法

最一般的原则的指导方针。

◆从沟通、简单、反馈、尊重、勇气五方面改善任何一个软件项目

3.Web需求工程:

?web需求特性

◆多学科性:涉及的学科非常广泛

◆利益相关者未知:在获取需求时,很多利益相关者无法确定

◆不断变化的需求和约束

◆未知的软硬件环境

◆质量控制:主要包括,性能,可用性,安全性

◆用户界面的可用性

◆内容的质量

◆开发人员缺乏经验

◆严格的预算与交付日期

◆与商业目标紧密相关

?web应用需求的分类:

◆功能需求:常用用例图描述,具体分为:

●数据需求:确定web应用的信息存储和管理方法

●界面需求:定义web应用如何与各种不同类型的用户交互

●导航需求:让用户可以方便地在web应用的不同频道与页面之间跳转

●个性化需求:描述web应用在用户或环境变化时适应的能力

●事务性需求:web应用必须进行的内部处理

◆质量需求:

●系统性能、可靠性、可用性、效率、可维护性、可移植性等

●需要考虑网络带宽、网络延时等影响

◆系统环境需求:Web应用如何嵌入到一个已有的环境中

◆项目约束:项目预算、进度、技术限制、项目所采用的标准、开发技术

◆发展需求:需要对Web应用未来的发展有前瞻性

?web需求获取

◆需求准备

◆需求获取方法

●面谈

●用例建模

●头脑风暴

●素描与故事板

●问卷调查与调查表

●联合应用开发

●原型化

◆需求获取原则

●识别目标用户:必须有明确的目标用户群

●全面考虑各利益相关者的意见

●了解系统所处的环境

●明确调查内容

●进行市场调研

◆敏捷需求获取

●敏捷方法日益收到软件业界的重视

●敏捷开发方法中一般采用故事板、用例建模、原型化等方法进行需求建模

?web管理的意义:

◆可以更好地控制复杂的系统

◆提高软件产品的质量和客户的满意度

◆降低项目成本

◆促进沟通

◆使项目的过程更加符合标准

?需求变更的常见流程

◆确定需求基线

◆项目经理接收到需求变更的要求

◆项目经理评估需求变更

◆记录需求变更

◆确认需求变更

◆需求冻结

?合格的需求规格说明书的特点

◆正确

◆完整

◆一致/无二义

◆可修改

◆可跟踪/可验证

?需求确认与验证常见的形式

◆评审与走审

●评审分为客户评审和同行评审

◆审计

◆需求跟踪矩阵(RTM)

●分为纵向跟踪矩阵和横向跟踪矩阵

●可检测需求中的不一致和未覆盖的问题

◆原型验证

◆模型验证

◆需求建模验证

4.Web应用建模:

?web应用建模的目的:

◆足够详细的规格说明

◆可读的系统结构和功能描述

◆有助于对系统进行可视化

◆必须的过程

?建模分层的优点

◆降低复杂度

◆模型演化

◆分层的模型栈

◆不同的建模目标

?web应用建模优点

◆更好的理解系统

◆满足协同开发项目的需要

◆满足用户需求

◆开发过程可控

◆系统可持续性发展

?UWE模型:需求、内容、导航、过程、展示

◆需求模型:UML用例图

◆内容模型:UML类图,静态视图

◆导航模型

◆展示模型

◆适应性模型

?功能需求建模

◆采用UML用例图全局功能建模(UML用例图如下图)

◆基于参与者的视图:至少一个参与者是人且通常是匿名的

◆通过UML活动图进行精化(UML活动图如下)

?内容建模

◆目标是将从需求工程中决定的web应用信息和功能需求转化为模型

◆静态建模:UML类图(类图如下所示)

◆动态建模:UML状态图(状态图如下图所示)

?超文本建模

◆目标是通过web应用的内容构建导航,因此也是导航建模

◆静态建模:

●以内容建模为基础

?类和对象在超文本中表示为节点

?转换规则和按需添加的一些链接

●特定的符号:如UWE

??navigation class?:导航节点

??navigation link?:导航链接

??process link?:过程链接

??external link?:外部链接(静态建模图如下)

◆动态建模

●超文本访问模式:如何通过导航访问到节点

●访问结构:UWE

?<

>访问不同类型的节点

?<>访问一个节点对象集

?<>搜索节点

?<> 按序在节点之间漫游

?<>指向Web应用的主页

?<>陆标,指向一个所有节点都可达到节点

?展示建模

◆目标

●对web页面的结构和行为进行建模

◆特性

●Web页面的层次组织,包含展示元素

◆UWE静态建模

●<>

?展示页面,用户看到的最大单位,可以包含不同展示单元

●<>

?展示单元:将一些页面元素组织在一起,表达页面的逻辑片段,表示

超文本模型中的一个节点

5.Web应用架构:

?软件架构的特性

◆来源于需求规格说明

◆几个架构师,很多程序员

◆可运行软件的抽象

◆定义模块或组件以及他们之间的交互

◆抽象层次的问题

◆系统特定视图

◆系统的多种架构视图可能并存

◆架构视图的适合度取决于特定视角

◆和建筑物架构比较

?架构的分类(重点掌握)

◆模型驱动架构:

●是一种开放的,独立于软件供应商的架构,支持众多应用领域和技术平台

◆优势:①提高生产效率;②提高了可重用性;③增强可移植性;④支持互操作

性;⑤提高了系统的可验证性;⑥便于维护

◆层次架构

●2层架构:也称客户/服务器架构,应用逻辑分布在服务器端,向客户提

供服务

●3层架构:将Web应用中组件划分(展示层,应用、逻辑层,数据层)

●N层架构

?优点:①重用;②耦合;③局部变化对全局影响小;④代码更易维护

性;⑤模块可扩展性更好

?缺点:①不必要的复杂性;②更多故障点

◆集成架构

●门户:指基于Web技术,并针对具体用户或社区的应用平台

●EAI:集成不同数据源、基于各种不同平台、用不同方案建立的异构应用

●SOA:提供一种集成框架。将应用程序的业务功能单元称为服务,通过这

些服务之间定义好的接口和约定进行集成,形成一种架构模型,从而构成

整个应用

◆面向数据的架构(数据为中心/Web文档管理/流媒体数据)

●数据为中心的架构

●优势:通过Web扩展或应用服务器进行访问;很成熟;易于实现

◆Web文档管理的架构

◆流媒体数据的架构

●通过标准的因特网协议进行传输

●流技术最小化多媒体内容播放的等待时间

●两种应用领域(点播、直播)

6.Web应用设计:

?web应用设计特性

◆交互设计

●web应用的可视性、动态性、功能性和技术性元素的交织

●目的是很好地将这些元素综合并解决相互之间的冲突,以提供给用户感兴

趣的、有吸引力的、一致的和易于理解的体验

●设计标准:可维护性、可重用性、可伸缩性、可扩充性和可持续性等

◆展示设计

●定义视觉和某种意义上多媒体内容的表现形式

●交互设计的延伸

●关注用户界面的结构和组织形式

●页面布局技术

?表格布局:

最早且最广泛

?框架布局:对于导航或不动的窗口在浏览web应用

时只需加载一次

◆内容设计

◆目标:把通常以一组详细的内容对象表示的内容需求转化为web应用具体的

信息设计;关注如何组织,访问和管理这些内容;定义所有内容的布局、结构

和作为web应用的一部分进行展示的内容大纲;建立内容对象之间的关系

?web应用建模原则

◆准备原则

◆选择原则

◆编码原则

◆内容管理

◆创作原则

◆集成原则

◆重构原则

◆测试原则

?web应用部署

◆部署粒度

◆部署原则

●管理客户对web应用增量的期望

●安装与测试交付包

●交付前建立支持制度

●先改正有缺陷的web应用,然后在支付

◆部署环境

◆版本控制和CMS

8.Web应用测试:

?web应用测试

◆web应用测试特性

●用户量大、资源的跨平台全局访问、处理并发事务

●集成测试

●web浏览器提供的导航

●技术种类

●运行环境异构、自治

◆web应用测试过程

◆功能测试

●链接测试

●交互测试

●数据测试

●Cookies测试

●数据库测试

●特定功能需求测试

◆内容测试

◆web页面测试

●web页面测试内容

●导航测试

●图形测试

●内容测试

●表格测试

●整体页面测试

●页面测试要素

?字体、颜色、边缘、图像、框架、表格

◆兼容性测试

●平台测试

●浏览器测试

●分辨率测试

●连接速率测试

●打印机测试

●数据库兼容性测试

●应用软件间兼容性测试

◆性能测试:

●性能测试过程:

?测试需求分析

?测试计划制定

?测试用例设计与开发

?测试执行与监控

?测试结果分析

?性能优化和测试总结

●性能测试内容

?速度测试

?负载测试

?压力测试

?并发测试

?大数据量测试

?配置测试

?可靠性测试

◆安全性测试

●数据加密测试

●用户身份验证测试

●日志文件测试

●Session测试

●备份与恢复测试

●访问控制测试

●安全漏洞测试

●TCP端口测试

●服务器端脚本漏洞检查

●防火墙测试

◆接口测试

●服务器接口测试

●外部接口测试

●错误处理测试

◆web服务测试

●Web服务基础设施的验证与确认

●独立的Web服务测试

●集成的Web服务测试

?SEO:内外部因素兼顾

◆内容优化策略

◆关键词策略

◆链接策略

◆页面布局与框架策略

◆域名策略

◆主机优化策略

?web应用性能提升策略

◆增加带宽

◆减少web页面中的http请求

◆加快服务器脚本计算速度

◆采用缓存技术

◆使用代理服务器

◆动态内容静态化

◆页面容量优化

◆页面组件分离

◆提升web服务器性能

◆使用负载均衡

◆优化数据库

◆优化应用程序

◆使用CDN

◆采用镜像分担流量

?web应用安全性特性

◆开放性

◆信息流通的灵活性

◆服务器容易受到攻击

◆开发人员的局限性

◆底层应用软件漏洞众多

◆用户错误操作

相关文档