说明:因上传文章时不能复制上传图片,一个个上传太过麻烦,所以将资料分别上传成文章版和下载版两个版本,可以通过看文章版了解资料具体内容,了解整体思路自行查阅PPT完善,需要完整版资料的同学可以下载资源获取
Web需求工程(3)
• Web需求特性
• Web需求获取
• Web需求表示
• Web需求确认与验证
软件需求包括业务需求、用户需求、功能需求三个层次
Web应用的需求工程的活动一般分为需求获取、需求表示、需求分析、需求确认与验证四部分
Web需求特性:
多学科性:
利益相关者未知:
不断变化的需求和约束:
未知的软、硬件环境:
质量控制:
用户界面的可用性:
内容的质量:
开发人员缺乏经验:
严格的预算与交付日期:
与商业目标紧密相关:
Web需求获取:
– 需求准备:
了解用户为什么会使用这个Web应用
– 需求获取方法:
面谈:
用例建模:
头脑风暴:
素描与故事板:
问卷调查和调查表:
联合应用开发:
原型化:
– 需求获取原则
识别目标用户
全面考虑各利益相关者的意见
了解系统所处的环境
明确调查内容
进行市场调研
WEB需求表示:
--Web需求分析
目的:目的在于得到高质量和具体的需求,经历相关的一些活动,遵循的一些原则
活动:绘制系统关联图
创建用户界面原型
分析需求可行性
确定需求的优先级别
为需求建立模型
创建数据字典
原则:注意需求描述用语
了解客户业务
描述产品的非功能特性
评估需求变更代价
客户参与
--Web需求表示
需求故事(极限编程中的用户故事)
条目化需求(IEEE/EIA J-STD-016标准中的数据项描述)
格式化规格说明(UML中的用例描述)
正规需求规格说明(很少使用正规需求规格说明)
- 蓝色比较适合WEB应用开发
- 对于Web应用而言,需求分析阶段需要编写软件需求规格说明作为整个需求分析活动的结果性文档
--Web需求管理
意义:可以更好地控制复杂的系统:
提高软件产品的质量和客户的满意度
降低项目成本:
促进沟通
使项目的过程更加符合标准
WEB需求确认与验证:
目的:验证需求是否正确、是否合理、是否存在着与实际情况不符的问题,并解决这些问题。是一个反复迭代的过程.(“确认与验证->修正需求->再次确认与验证-> 再次修正需求……”)
形式:评审和走查
审计
需求跟踪矩阵
原型验证
模型验证
需求建模测试
Web应用架构(5)
- Web应用架构及其特性
- 模型驱动架构
- 层次架构
– 2/3/N层架构
- 集成架构
– 门户/EAI/SOA
• 面向数据的架构
– 数据为中心/Web文档管理/流媒体数据
Web应用架构及其特性
架构分类:
层次特性
数据特性
分布对象中间件
虚共享内存
面向消息中间件
P2P
面向服务的中间件
架构特性:
Web基础架构
WPA
众多不同系统使得更难评估和维护各种质量需求
技术架构的异构性和不成熟性
国际化
模型驱动架构(MDA):
MDA是一种开放的,独立于软件供应商的架构,支持众多应用领域和技术平台。
MDA的优势:
• 提高生产效率
• 提高了可重用性
• 增强可移植性
• 支持互操作性
• 提高了系统的可验证性
• 便于维护
层次架构:
两层架构:两层(2-Tier)架构也称为客户/服务器架构,应用逻辑分布在服务器端,向客户端提供服务。
三层架构:将Web应用中组件划分(展示层,应用或逻辑层,数据层。)
Web应用的N层架构:
优点:重用
– 松耦合(Loose-coupling) – 局部变化对全局影响小
– 代码更易维护性
– 模块可扩展性更好
• 缺点
– 不必要的复杂性
– 更多故障点
集成架构:
门户:门户(Portal)是指基于Web技术,并针对具体用户或社区的应用平台。(展示层面的集成,集成多样化内容服务的Web应用)。
EAI:集成不同数据源、基于各种不同平台、用不同方案建立的异构应用。(强调内容层面和应用逻辑层面集成的架构)
SOA:提供一种集成框架。将应用程序的业务功能单元称为服务,通过这些服务之间定义好的接口和约定进行集成,形成一种架构模型,从而构成整个应用。
面向数据的架构:
以数据为中心的架构:(结构化数据(JDBC/ODBC);通过Web扩展或应用服务器进行访问;很成熟;易于实现)。
Web文档管理架构:
流媒体数据的架构:
多媒体数据包括视频、音频等,通过标准的因特网协议(如HTTP、FTP等)进行传输--下载速度慢
流技术最小化多媒体内容播放的等待时间
两种应用领域(点播,直播)
Web应用构建与部署(7)
• Web应用构建原则
• Web应用部署
WEB应用构建原则
(1)准备原则
(2)选择原则
(3)编码原则
(4)内容管理
(5)创作原则
(6)集成原则
(7)重构原则
(8)测试原则
WEB应用部署
部署原则
– 管理客户对Web应用增量的期望;
– 安装与测试交付包;
– 交付前建立支持制度;
– 先改正有缺陷的Web应用,然后再交付。
Web应用的运行和维护(9)
• Web应用运行和维护的挑战
• Web使用挖掘
Web应用运行和维护的挑战
挑战:
用户群不确定
开发周期短
相关工作流的互相影响
内容:
• 通过搜索引擎等方式进行推广
• 服务器及相关软硬件的维护,评估可能出现的问题,制定防护策略
• 数据库维护,有效地利用
• Web应用内容的更新、调整、增加、删除等
• Web应用的页面风格、版式等的更新与改善
• Web应用维护的制度化、规范化
• 安全防护,发现并及时消除Web应用的安全威胁
Web使用挖掘
分析和挖掘Web访问日志和用户数据可以帮助Web应用的运行维护人员理解用户的行为和Web应用的使用方式,从而提高Web应用的运行维护工作的效率。
也称Web应用的使用分析/访问分析,指评估和分析Web应用使用的各种指标来度量Web应用是否成功的过程。
使用分析技术:
显式 – 离线方式:
隐式 – 在线方式:
Web server logs – 最有价值的资源
页面标签(Page-tagging)方法
流量监控
Web应用的性能和可用性(11)
• Web应用性能
– Web应用性能分析
– Web应用性能提升策略
• Web应用可用性
– Web可用性原则
WEB应用性能:
Web应用性能分析:
• 连接时间 • 发送时间
• 接收时间 • 处理时间
• 响应时间 • 并发用户
• 用户并发数量 • 请求响应时间
• 事务响应时间 • 吞吐量
• 吞吐率(Throughput) • 点击率(Hit Per Second)
• 每秒事务处理量(TPS,Transaction Per Second)
• 资源利用率
Web应用性能提升策略:
• 增加带宽 • 减少Web页面中的HTTP请求
• 加快服务器脚本计算速度 • 采用缓存技术
• 使用代理服务器 • 动态内容静态化
• 页面容量优化 • 页面组件分离
• 提升Web服务器性能 • 使用负载均衡
• 优化数据库 • 优化应用程序
• 使用CDN • 采用镜像分担流量
Web应用可用性:
可用性原则:
- 不要让我思考。
- 点击多少次都没关系,只要每次点击都是无须思考,明确无误的选择。
- 去掉每个页面上一半的文字,然后把剩下的再去掉一半。
可用性属性:易学性和易记性
有效性
效率
容错度
用户满意度
Web项目管理(10)
• Web项目管理面临的挑战
• Web项目人员管理
• Web应用项目计划
• Web项目风险管理
Web项目管理特有的问题:
• 领导挑战
– 重用挑战、忽略了组织、过度乐观
– 不清晰、不完整、频繁变化的计划目标
• 开发挑战
– 开发人员个性鲜明、新颖性、大量候选方案、快速而持续的变更、动态性、并行开发、持续性、不成熟性
• 监控挑战
– 很难控制“无形的软件产品”
• 使用挑战
– 看似简单、艺术性、用户自发性、普适性、兼容性、稳定和安全、可伸缩性
传统软件 vs. Web应用:
Web项目人员管理
团队管理原则:
• 合理配备,各尽其才
• 培养团队精神
• 建立良好的工作环境
• 制定良好的规章制度
• 建立明确的共同目标
• 及时沟通
WEB应用项目计划
进度管理的主要内容:
制定活动计划
工作量估计
工作量估计
工作量估计
进度管理的方法:
甘特图
网络计划技术
WEB项目风险管理
特性:
• 目标定义不明确
• 错误的目标用户
• 新技术风险
• 面向开发的页面结构
• 因为外包导致缺少一致性
• 缺少维护预算
• 内容回收利用
• 链接结构不好
• 混淆Internet和Intranet
• 混淆市场调研和可用性调查
• 低估了Web的策略性
• 安全性风险
任务:
Web应用的安全性(12)
5 ( ±2 ) Aspects of Security
• Web应用安全性特性
• Web应用安全威胁
Web应用安全性特性:
(1)开放性
(2)信息流通的灵活性
(3)服务器容易受到攻击
(4)开发人员的局限性
(5)底层应用软件漏洞众多
(6)用户错误操作
WEB应用安全威胁:
(1)计算机病毒
(2)蠕虫
(3)木马
(4)恶意软件
(5)安全漏洞
Web安全协议:
SSL TLS IPsec