Web工程:实践者的研究方法
作者 : (美)Roger S. Pressman  David Lowe 著
译者 : 霍秋艳 闫兵 陈静玉 等译
丛书名 : 计算机科学丛书
出版日期 : 2009-12-03
ISBN : 978-7-111-28250-1
定价 : 49.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 306
开本 : 16
原书名 : Web Engineering: A Practioner's Approach
原出版社: McGraw-Hill
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是一本Web工程著作,全面、系统地阐述了当前Web工程技术的各个方面,概括性地对基于Web的系统和应用的工程化实践过程进行了全面的介绍。主要内容包括:概述、Web工程过程、沟通、计划、建模活动、WebApp分析建模、交互设计、信息设计、功能设计、构建和部署、设计模式、技术和工具、测试、变更管理和内容管理,以及WebApp的发展趋势。本书贯穿了一个应用实例,并以轻松诙趣的方式展现相关内容。

图书特色

Web工程 实践者的研究方法

图书前言

在开始计划写这本书的时候,我们曾担心它会淹没在数以百计(不!是数以千计)的相关书籍中,已经有大量关于“Web设计”、HTML、Java、XML的技术书,以及构建成功的基于Web的系统和应用(WebApp)必须要理解的无数的技术书籍。奇怪的是,我们发现一个至关重要的主题(其他的技术都被应用的过程)被覆盖得相对较少。我们称这个过程为Web工程(Web engineering),同时我们相信应用这个技术更可能构建出满足用户需要并给他们客户的业务或者组织带来真正收益的WebApp。
  强调WebApp会是现实中所有的业务和组织成功的关键已经是陈词滥调。然而,很多的WebApp仍然是这样构建的:基本不考虑问题分析、有效的设计、可靠的测试以及变更管理的基本原则。所带来的后果就是,很多WebApp无法满足最终用户的需要和委托给开发者的业务目标。
  现在,为了应对下一代的基于Web的系统和应用所提出的挑战,我们要从守旧的方法转变到Web工程。这个行业正向更加实效的Web工程过程(展示出敏捷性和适应性)的方向发展。同时,这个过程必须要传递一个学科方法的完整性。
  本书面世了,它全面展示了工程化的基于Web的系统和应用的实践过程。为了在这个全新的工程学科中引导读者,其内容是以一种非正式的、会话的风格,以问答的形式进行展示。
  在全书中,我们强调一个敏捷的过程和一些已经在行业应用中证明过的简单而实用的方法。同时,我们有意较少涉及基于Web的特定的工具和技术。这不是因为我们认为它们不重要,而是因为已经有了数以千计的强调它们的书籍、文献和网上资源,而它们几乎都没有用联系的观点来看待Web工程。因此,我们自然把重点放在Web工程上。我们的目的就是提供一本可供实践者、大学生或者研究生使用的书。
  Web工程过程强调一种敏捷方法,并展示一些简单而有效的方法,以获取和分析问题需求,设计一个有效的解决方案,然后构建和测试一个高质量的WebApp。但是,这个过程不仅仅是关于技术的。我们还将呈现一些已经被证实的用于项目管理、变更和内容管理以及质量保证的技术。在全书中,我们用一个精心设计的案例来展开叙述我们介绍的方法和技术。Web站点wwwSafeHomeAssuredcom对这个案例补充了一些深入的细节,同时还提供了其他额外信息。
  本书受益于许多讨论构建高质量的WebApp的准则和技术的出版物和Web资源。我们对本书中引用到的原始资料的作者以及在过去的几年中对我们的想法进行指导的数以百计的同行和作者表示衷心的感谢。同时,要特别感谢Didar Zowghi、Norazlin Yusop、Xiaoying Kong和Rechatrin Tongrungrojana。
  在全书中,一些引用的文本、图片以及SafeHome这个案例来自于Roger Pressman的《Software Engineering: A Practitioners Approach》(sixth edition)。我们经过允许直接使用或加以改造,以满足特定Web工程师的需求。
 该书由机械工业出版社引进出版,中文书名为《软件工程:实践者的研究方法》(原书第6版),书号为7111194004。——编辑注

  我们两个作者的家庭都有4个成员,在此我们想对他们在这件事情上做出的努力表示感谢。我们杰出的妻子(Barbara和Catherine)忍受了为出版一本书所花费的大量用于写、修订和四处奔波的时间。Roger的儿子(Mathew和Michael)已经长大了,有他们自己的事情要做,并且每天都要使用因特网和Web。David的儿子(Oliver和Dominic)很年轻,都有他们自己的未来,同时他们将来的职业生涯中会有相当长的一部分时间能见证未来网络的发展。我们希望本书所展现的思想可以对他们的职业成长有所帮助。
Roger Pressman
美国佛罗里达州贝卡拉顿市
David Lowe
澳大利亚悉尼

上架指导

计算机\网络

封底文字

本书采用一个完整的案例研究,以整个Web应用系统开发的生命周期为主线,全面、系统地阐述了基于Web的工程化系统和应用的实践过程的各个方面。书中提供了大量对话说明案例,生动翔实,便于加深理解书中所述的理论及其运用。
主要特点:
* 全书贯穿一个应用实例。
* 强调以敏捷的过程和系统地使用一些已经在行业应用中证实的简单而实用的方法。
* 平衡概念、工具、技术、应用以及Web工程的各部分等各方面内容所占的比例。

译者简介

霍秋艳 闫兵 陈静玉 等译:暂无简介

译者序

作为一本Web工程著作,本书全面、系统地阐述了当前Web工程技术的各个方面,并清晰地对基于Web的系统和应用的工程化实践过程进行了全面介绍。本书的问世,将对这个全新的工程学科产生重要的影响。
  Web工程是一门新兴学科,综合讲述的相关书籍寥若晨星。本书的焦点是Web工程,告诉我们关于基于Web的系统和应用的工程化实践过程,强调一个敏捷过程和一些已在行业应用中被证明过的简单而实用的方法。对于基于Web的特定工具和技术的讲解相对较少,因为已有数以千计的强调各种特定工具和技术的书籍、文献和基于Web的资源,但它们几乎都没有用联系的观点来看待Web工程。
本书是Web工程学科的及时雨,是一本非常好的Web工程读物,认真阅读它会使你受益匪浅。自本书原版面世以来,我就是它的忠实读者,它是我从事“Web工程”课程教学的重要参考书。在此,郑重推荐给读者。
本书的特点如下:
 强调敏捷的过程和一些已经在行业应用中证实的简单而实用的方法。
 各章后面提供了相应的参考文献信息。
 全书贯穿了一个应用实例(基于Web的住宅安全系统——SafeHomeAssuredcom),并以对话的形式逐步展开这一开发过程,使本书更具有可读性,引发读者的阅读兴趣。
 以非正式的会话的风格,以回答问题的形式展现内容。
本书在前言中指出了其目的是提供一本可供实践者、大学生或者研究生使用的书。除此之外,教师可以把本书作为“Web工程”课程的教材。在作为教材时,可能还需要自行补充一些材料:习题和课程实习。对于教师或者有一定Web应用开发经验的研究生和专业人员,本书提供了全面的、丰富的、代表当前发展水平的Web工程知识。
  参加本书翻译工作的主要有:闫兵(第1~10章、第13~14章)、王蕾(第11~12章)、陈威(第16~17章)完成了翻译初稿。本人完成了第15章的翻译,并对全部译稿做了仔细的审核与大量的修改,闫兵和陈静玉对全部译稿也进行了仔细的审核。
  尽管本书的翻译工作历时超过半年,但仍然感觉时间太紧,而且Web工程作为一门新的学科,很多概念和术语的翻译还很不成熟。限于译者水平,我们对内容的理解和中文表达难免有不当之处,在此敬请读者批评指正。
霍秋艳
2009年10月

图书目录

出版者的话
译者序
前言
第1章基于Web的系统
11网络
12Web应用
121一个学习案例
122WebApp就是计算机软件吗
123WebApp的属性有别于传统软件的属性吗
124在WebApp演变的过程中会涉及哪些范畴
13WebApp——一种哲学的观点
参考文献
第2章Web工程
21什么是Web工程
211敏捷意味着什么
212什么是WebE框架
213适应框架时应该遵循哪些原则
214旧方法有什么价值吗
22Web工程的组件
221软件工程如何发挥作用
222为什么WebE过程的敏捷性如此重要
223过程框架内有哪些WebE方法
224工具和技术不就是Web工程的一切吗
23Web工程的最佳实践
24本章小结
参考文献
第3章Web工程过程
31定义框架
32增量过程流
321框架活动是如何进行的
322框架如何进行精化
33WebE框架的一般动作和任务
331沟通活动应当如何进行精化
332制定一个增量计划需要哪些任务
333什么是建模
334可以应用哪些分析建模任务
335设计模型的要素有哪些
336可以应用哪些设计建模任务
337应用哪些构建任务
338WebApp增量如何进行部署
34保护活动
341WebE团队如何管理变更
342如何保证增量的质量
343如何管理风险
344如何管理工作
35本章小结
参考文献
第4章沟通
41沟通活动
42规划
421应当和谁沟通
422可以使用哪些技术进行沟通
423不会有不同的视角吗
424应该问什么问题
425如何促进协作
43提取需求
431在提取需求的会话之前做什么
432利益相关者如何进行准备
433提取会话中执行哪些任务
434WebApp的用户种类
435如何识别内容和功能需求
436如何将约束和性能问题分离
437什么是使用场景
438什么是用例
439如何创建用例
44确认WebApp增量
45协商
46本章小结
参考文献
第5章计划
51理解范围
511有哪些相关的沟通工作产品
512如需要更多的细节来理解增量会怎么样呢
513你的理解中仍然存在不足怎么办
52精化框架活动
521需要哪些动作和任务
522生产哪些工作产品
523评估质量的恰当方法
524如何管理变更
53组建一个WebE团队
531如何识别一个优秀的WebE团队
532团队为什么没有凝聚力,怎么改善
533WebE团队可以管理自身吗
534如何组建一个成功的团队
535一个好的团队负责人有哪些特征
54管理风险
541如何识别风险
542如何评估风险
543如何开发应急计划
55开发进度表
551什么是宏观进度安排
552什么是增量进度安排
553如何估算工作量和时间
554如何描述任务之间的相互依赖关系
56管理质量
561团队可以使用哪些质量保证机制
562什么是结对走查方法
563什么是团队走查方法
564WebApp存在质量标准吗
57管理变更
571如何评估变更的重要性和影响
572何时推迟做出变更
573所有的相关工作产品都应当做出变更吗
58跟踪项目
581进度问题有什么宏观指标吗
582可以使用哪些标准来跟踪进度
59外包WebE工作
591如何启动外包项目
592如何选择候选外包供应商
593如何评估报价的合理性和估算的可靠性
594需要什么程度的项目管理
595如何评估进度并管理范围
510本章小结
参考文献
第6章建模活动
61建模的概念
611如何评判一个模型的有用性
612模型可以用于理解业务限制吗
62创建的模型
621过程告诉了我们关于建模的哪些信息
622WebApp告诉了我们关于建模的哪些信息
63建模框架
631对Web来说,有建模框架吗
632建模如何与WebE过程关联
64建模语言
641应当具备哪些建模功能的能力
642应当具备哪些建模信息内容的能力
643在建模语言中,应当有哪些通用能力
65已有的建模方法
66本章小结
参考文献
第7章WebApp分析建模
71理解在WebE中的分析
711分析到什么程度才是足够的
712可以使用原型进行分析吗
713分析和设计不同吗
72对WebApp进行分析建模
721分析建模的输入是什么
722分析的输出是什么
723应当执行哪些分析任务
724可以使用哪些工具来建模
725如何确定建模是否必要以及哪种方法最好呢
73理解用户
731为什么有必要重返用户等级
732不加修改地应用使用场景吗
74内容模型
741内容模型的结构元素有哪些
742什么是信息交换,如何进行表示
743如何确定内容对象
744有描述内容之间的联系和层次的简单方法吗
745如何为WebApp选择和表示分析类
75交互模型
751用例从什么地方开始起作用
752什么是序列图,何时进行开发
753状态图如何描述WebApp的行为
754是否真的需要用例、序列图和状态图
755为什么创建一个界面原型是很明智的
76功能模型
77配置模型
78关系-导航分析
781如何建立内容对象和功能之间的关系
782如何分析导航需求
79本章小结
参考文献
第8章WebApp的设计
81对WebApp进行设计
811WebApp设计者需要知道什么
812什么是逻辑设计
813什么是物理设计
814设计完成后生成哪些信息
82设计目标
83设计和WebApp的质量
831用户如何理解质量
832有以用户为中心的模型吗
833什么是质量框架
834有评估内容质量的方法吗
835有质量检查表吗
84设计过程
841WebApp设计的元素有哪些
842设计过程的特征有哪些
843对设计活动而言,一个增量的WebE过程意味着什么
85概念架构的初始设计
86技术架构的初始设计
87本章小结
参考文献
第9章交互设计
91界面设计原则和指导准则
911设计有效界面的原则
912有哪些实用的设计指导原则
92界面设计工作流
93界面设计的前期工作
931如何理解WebApp用户的特征
932如何详细描述已经识别的内容对象
933用户完成哪些任务
934如何详细描述已经确定的任务
935如何为不同角色的不同用户进行设计
936内容如何集成到界面描述之中
94界面设计步骤
941如何布局界面对象和动作
942如何设计界面导航机制
943为什么界面的一致性如此重要
95美学设计
951如何创建令人愉悦的布局
952什么是好的图形设计
96可用性
97设计问题
971哪些因素影响响应时间,怎么改进
972如何设计“帮助”设施
973界面应当如何处理错误
974什么是“可访问性”?如何应用于界面设计中
975什么是“国际化”?如何应用到WebApp中
98本章小结
99参考文献
第10章信息设计
101信息架构
1011什么是信息架构
1012信息架构的元素有哪些
1013好的信息架构有什么特征
1014如何开发信息架构
102组织内容
103设计信息空间
1031有哪些可能的信息结构
1032什么可以产生好的结构
104蓝图:为结构添加细节
105访问信息
1051如何确保用户可以理解上下文并且不会迷路
1052如何帮助用户在信息结构内移动
1053实现搜索机制的指导准则
1054搜索机制会产生问题吗
106线框模型
107导航设计:创建详细的结构
1071信息设计和导航设计模型是如何演化的
1072RMM模型如何用于导航设计
1073如何使用WebML创建导航设计
1074可能创建链接了内容和功能的模型吗
1075Web自身的结构有影响吗
108总结设计过程
109本章小结
参考文献
第11章功能设计
111WebApp功能
112WebApp功能的性质
1121功能示例
1122功能分类
1123信息和功能总是可区分的吗
113设计过程中的功能设计
1131功能设计过程包含哪些要素
1132需要多少功能设计
1133SafeHomeAssuredcom的初始功能设计应该如何进行
114功能架构
1141功能架构是什么样的
1142如何开发功能架构
1143处理异常的功能如何开发
1144在功能设计时可以使用架构模式吗
115详细功能设计
1151WAE建模如何用于详细设计中
1152WebML为什么适合于工作流建模
116状态建模
117本章小结
参考文献
第12章构建和部署
121WebE过程中的构建和部署
1211构建和部署之间的相互作用是什么
1212部署环境扮演什么角色
122构建
1221有通用的构建任务吗
1222什么是重构?如何应用它
123构建的原则和概念
124部署
1241是否存在通用的部署任务
1242指导WebE团队的部署原则
1243如何使用版本控制和CMS
125构建和组件的使用
1251什么是通用组件
1252如何定义面向对象组件
1253如何定义传统组件
1254好组件有哪些特征
126组件级设计指导准则
127组件的设计步骤
128本章小结
参考文献
第13章设计模式
131模式:理解概念
1311什么是模式
1312模式怎么描述
132WebApp模式:设计焦点和粒度
1321如何使用设计焦点来确定模式
1322粒度为什么是模式的一个重要特征
133模式仓库
1331什么是模式库
1332Web工程师可参考哪些模式资源
1333WebE团队能够创建自己的模式集吗
1334如何发现和使用模式
134模式示例
1341有可能定义解决业务层问题的模式吗
1342因为交互很普遍,就必然有很多交互模式吗
1343有哪些可用的导航模式
1344内容和表示模式适合使用的地方
135本章小结
参考文献
第14章技术和工具
141常见问题
1411分而治之如何影响工具和技术
1412选用哪种技术——开源还是私有
1413WebE技术应用种类的影响
142实现工具和技术
1421什么是应用框架
1422如何应用内容管理系统和版本控制技术
1423WebApp怎样提供搜索能力
143开发工具和技术
1431怎样获得有助于建模活动的工具
1432专门针对WebApp的测试工具
1433支持WebE过程管理的工具
144本章小结
参考文献
第15章WebApp测试
151测试概念
1511什么是质量维度
1512WebApp环境中发生什么类型的错误
1513应该应用什么测试策略
1514多少测试计划是必需的
152测试过程概述
153内容测试
1531内容测试的目标是什么
1532数据库测试如何用于验证内容
154用户界面测试
1541界面测试策略
1542如何测试界面机制
1543如何测试界面语义
155可用性测试
156兼容性测试
157组件级测试
158导航测试
1581如何测试导航语法
1582如何测试导航语义
159配置测试
1591如何测试服务器端
1592如何测试客户端
1510安全性和性能测试
15101如何确定WebApp是安全的
15102如何测试WebApp的性能
15103性能测试的目标是什么
15104负载测试如何评估性能
15105压力测试如何评估性能
1511本章小结
参考文献
第16章变更管理和内容管理
161变更
1611变更的属性有哪些
1612为什么需要变更
1613WebApp的哪些元素变更了
162Web工程的变更管理
1621为什么需要管理变更
1622应该如何识别将要发生变更的对象
1623如何控制将要发生的变更
1624如何管理一个WebApp或其组件的不同版本
1625WebE团队如何确保一个变更恰当地实现了
1626如何让利益相关者知道实施的变更
163内容管理
1631如何使用内容管理系统
1632CMS的主要元素有哪些
164CMS的实现标准
1641数量如何影响内容管理
1642内容创作者的人数会影响CMS吗
1643变更量如何影响变更管理的正式性
1644发布量如何影响内容管理的正式性
165本章小结
参考文献
第17章未来趋势
171Web和WebApp具有不断变化的特征
1711基于Web的内容和功能的交付会如何变化
1712WebApp将如何变化
1713为了适应这些变化,Web工程师必须做些什么
1714Web可以作为应用软件的平台吗
1715未来的Web会是一个操作系统吗
1716语义Web将如何改变事物
172演化中的Web技术和Web 20
1721什么是Web 20
1722哪些技术支持Web 20
1723在技术演化中应该考虑哪些关键问题
1724Web 20将会如何发展
173对于未来的观点
174Web工程的变化特性
参考文献

教学资源推荐
作者: 教育部高等学校计算机科学与技术专业教学指导分委员会 编制
作者: 周国烛 杨洪雪 主编
作者: 滕玮 钱萍 刘镇 主编
参考读物推荐
作者: (美)Craig Utley
作者: [美] 马修·A. 罗素(Matthew A. Russell) 米哈伊尔·克拉森(Mikhail Klassen) 著