=============================================================================== 注:
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
?<