| 前言: |
| 成功的计算机软件能够很好地满足使用者的要求,能在相当长的时间内无故障地运行,能够非常好用,也容易修改;这样的软件能够也确实会把事情办好。反之,有问题的软件无法让用户满意,容易出错,难于修改,甚至很难使用;这样的软件将会也确实会把事情办糟。我们希望开发出好的软件,把事情办好,避免那些隐藏在背后的糟糕的事情发生。为了获得成功,在设计和开发软件时,我们需要有规范,需要有工程化的方法。 在本书第1版问世以来的25年中,软件工程已经从少数倡导者提出的一些朦胧概念发展成为一门正规的工程学科。如今,软件工程已被公认为是一个值得深入研究、认真学习和热烈讨论的课题。在整个行业中软件工程师已经代替了程序员成为人们优先选择的工作岗位。软件过程模型、软件工程方法和软件工具已在广阔的行业应用领域得到成功的采用。 尽管管理人员和工作在第一线的专业人员都承认,需要有更为规范化的软件方法,但他们却始终在争论着应该采取什么样的规范。许多个人和公司至今仍在杂乱无章地开发着自己的软件,甚至即使他们正在开发的系统服务于目前最为先进的技术,也仍然如此。许多专业人员和学生并不了解现代方法。于是造成了严重的后果,以至所开发的软件质量很差,糟糕的事情时有发生。此外,有关软件工程方法性质的争论一直持续进行着。软件工程的重要地位问题已成为研究课题。人们对待软件工程的态度已有所改变,研究工作已取得了进展,不过要成为一个完全成熟的学科还有大量的工作要做。 本书第6版希望成为推动工程学科走向成熟的入门读物。和前五版一样,第6版对学生和专业人员同样具有很强的吸引力。本书既是软件行业专业人员的工作指南,同时也是大学高年级学生以及一年级研究生的综合性参考书。 第6版包含很多新的内容,它绝不是前一版的简单更新。这一版做了不少修订,结构上也有调整,更加强调一些新的和重要的软件工程过程和实践。此外,我们专门为本书开辟了一个网站(www.mhhe.com/pressman),其中提供的“支持系统”(见图0-1)包含了为学生、教师和专业人员提供的大量专业资源,从而丰富和充实了本书的内容。(访问原书网站可能无法获取有些配套资源,需要这些配套资源的教师可联系麦格劳-希尔教育出版公司北京办事处,联系方式参见书后的“教学服务沟通表”。—编者注) 第6版共32章,分为五个部分。这样就把全书分为五个主题,从而有助于教师解决无法在一个学期内讲完书中全部材料的问题。 * 第一部分 软件过程,给出了软件过程的不同论点,考虑到所有重要的过程模型,涉及传统过程和敏捷过程在指导思想上的争论。 * 第二部分 软件工程实践,给出了分析、设计和测试方法,其中突出讨论了面向对象技术和UML建模。鉴于面向对象方法目前在行业中已被广泛采用,原来第5版中第四部分的内容(面向对象软件工程)现已全部纳入到这里了。 * 第三部分 应用Web工程,提供了Web应用系统的分析、设计和测试的全面工程方法。 * 第四部分 管理软件项目,给出的是与计划、管理和控制软件项目的人员有关的问题。 * 第五部分 软件工程高级课题,涉及形式化方法、净室软件工程、基于构件的软件工程、再工程以及未来的发展趋势等问题。 第6版除了对前一版本做了许多更新和重要修改外,还特别增加了120多个框。主要分为以下4种: * 让读者跟随一个虚构的项目组,跟随他们的工作进程开发一个计算机应用系统。 * 对选择的题目提供补充的讨论。 * 概述反映某些软件工程活动工作流的任务集。 * 推荐与特定章节相关的自动化工具。 第6版分为五部分,这样方便教师根据时间和学习要求安排讲课内容。在一个学期内可进行一个部分,也可进行多个部分。例如“方法课”可能只强调第一和第二部分;而Web开发课会强调第一和第三部分;管理课应把重点放在第一和第四部分。第6版内容这样组织,其意图在于给教师提供多种教学安排的选择。但无论如何选择,第6版的内容都可获得“支持系统”的补充支持(参见图0-1): 图0-1 本书第6版的支持系统 为学生提供的资源 提供种类繁多、内容丰富的材料供学生学习。包括:在线学习中心可提供学习指南、实习测验以及Web资源(包括软件工程检查单、一套不断演化的微型工具、完整的案例研究以及工作产品模板)。此外,还有900多种网上参考资料可供学生更深入地探讨软件工程问题。 为教师提供的资源 本书第6版为教师提供了广泛的资源,包括综合性在线教师指南(可下载)、教学补充材料、700多幅供讲课用的PowerPoint幻灯片、试题库及试卷模板。此外,参考文献指明了500多篇软件工程的研究论文(分专题组织,且可下载),在讲授高级软件工程课程时可作为专题讨论课使用。在教师指南中,对各种类型的软件工程课程的教学提出了建议,介绍了与课程配合开展的软件项目以及许多有用的教学辅助工具。 为专业人员提供的资源 有许多资源可供工业界的专业人员(也包括学校师生)使用,包括软件工程文档及其他工作产品的纲要和模板、一套有用的软件工程检查单、CASE工具目录、综合性Web资源,并且还提供了根据具体任务划分的软件工程过程的“通用过程模型”。 本书第6版配有在线支持系统,这样既保证了使用上的灵活性,又保证了内容上的足够深度。这一点是任何单本教科书无法比拟的。 致谢 本书六个版本的出版工作是我一生中持续最久的技术项目。甚至在书稿完成后,我仍然不断地从一些技术文献中提取信息并加以吸收和组织。正是这个原因,我十分感谢这些书籍、文章(包括发表在硬拷贝和电子媒体上)的作者,在过去的25年中是他们给了我不少见解和想法。 特别感谢渥太华(Ottawa)大学的Tim Lethbridge,他非常仔细地审核了第6版,并帮助我开发了UML及OCL实例,还开发了与本书配套的综合案例研究,他的支持和建议非常有价值。特别感谢密歇根大学迪尔本分校(Michigan-Dearborn)的Bruce Maxim,他帮助我开发了与本书配套的Web站点,Bruce负责大部分教学内容。最后,我想感谢第6版的所有评审人员,他们的深入见解和批评非常宝贵: 使用本书早期版本的工业界的专业人员、大学教授及学生塑造了本书第6版的内容,他们花费了很多时间提出建议、批评和想法,在此向他们表示感谢。另外,还要感谢许多工业界的客户,他们教给我的比我能够教给他们的更多。 随着本书版本的更新,我的儿子Mathew和Michael已经长大成人。他们在现实生活中的成熟、品质和成功给了我灵感,没有什么比这更让我感到自豪的了。最后,感谢我的妻子Barbara鼓励我继续出版本书的下一个版本。 |
| 回书目 上一节 下一节 |
|
· SQL Server入门到精通.. · 交换技术配置手册技术.. · 超级网管员——网络应.. · 网络服务器配置与应用.. · Linux集群技术自测试题.. · JavaSript核心技术自测.. |
· ARP攻击与防范技术自测.. · 国庆挑战自己参加自测 .. · 《网管员必读—网络应.. · 历次技术自测 获奖网友.. · 51CTO国庆七天技术自测.. · 9.2.2 无线AP |
|
|||
| · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. |
· 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |